From: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
To: Dan Malek <dan@embeddededge.com>
Cc: linux-ppc-embedded <linuxppc-embedded@ozlabs.org>
Subject: Re: [PATCH] 8xx: fix usage of pinned 8Mbyte TLB entries
Date: Sat, 7 May 2005 10:16:09 -0300 [thread overview]
Message-ID: <20050507131609.GA16996@logos.cnet> (raw)
In-Reply-To: <6f231f4afce0886929ca99426a86b47a@embeddededge.com>
> >So you do agree that pte's should not be created for the first
> >8MBytes if CONFIG_PIN_TLB is set? :)
>
> NO. Just leave that code alone. I don't understand why you think
> doing this will have any effect on the system operation.
>
> If you are able to run a system without creating these tables, then
> the pinned TLBs must be working. If pinned TLBs weren't working,
> the kernel would crash.
Not creating 4kb mappings for the first 8Mbytes of kernel
virtual addresses fixed the problem for me.
Break at first start_kernel instruction (0xc02284a4).
Dump TLB contents to "itlb-before".
[marcelo@dmt ~]$ grep SPR itlb-before | grep 816
SPR 816 : 0x10002080 268443776
SPR 816 : 0x10001080 268439680
SPR 816 : 0x0ff79080 267882624
SPR 816 : 0x0ff261c0 267542976
SPR 816 : 0x0ff521c0 267723200
SPR 816 : 0x100121c0 268509632
SPR 816 : 0x100011c0 268440000
SPR 816 : 0x0ffdd1c0 268292544
SPR 816 : 0x0ffdb1c0 268284352
SPR 816 : 0x0fef51c0 267342272
SPR 816 : 0x0fef91c0 267358656
SPR 816 : 0x0fe0b1c0 266383808
SPR 816 : 0x0fef71c0 267350464
SPR 816 : 0x0fef61c0 267346368
SPR 816 : 0x0ffee1c0 268362176
SPR 816 : 0x0ffdc1c0 268288448
SPR 816 : 0x0fef21c0 267329984
SPR 816 : 0x0fef11c0 267325888
SPR 816 : 0x0fe071c0 266367424
SPR 816 : 0x0ffc61c0 268198336
SPR 816 : 0x0fe0c1c0 266387904
SPR 816 : 0x0ffc51c0 268194240
SPR 816 : 0x0fe091c0 266375616
SPR 816 : 0x0ffea080 268345472
SPR 816 : 0x0ff20080 267518080
SPR 816 : 0x0ff81080 267915392
SPR 816 : 0x1001c080 268550272
SPR 816 : 0x10008080 268468352
SPR 816 : 0x100021e0 268444128
SPR 816 : 0x100241e0 268583392
SPR 816 : 0x100301e0 268632544
SPR 816 : 0xc0000e1f -1073738209 <----- VALID 8MB TLB ENTRY
"go"
BDI breaks at
BDI>i
Target state : debug mode
Debug entry cause : instruction breakpoint
Current PC : 0xc0228544
BDI>
0xc0228538 <start_kernel+148>: bl 0xc023107c <pidhash_init>
0xc022853c <start_kernel+152>: bl 0xc0230f1c <init_timers>
0xc0228540 <start_kernel+156>: bl 0xc0230cf4 <softirq_init>
0xc0228544 <start_kernel+160>: bl 0xc022ead0 <time_init>
0xc0228548 <start_kernel+164>: bl 0xc02354b0 <console_init>
0xc022854c <start_kernel+168>: lis r9,-16348
[marcelo@dmt ~]$ grep SPR itlb-2 | grep 816
SPR 816 : 0x10001100 268439808
SPR 816 : 0x0ffdd100 268292352
SPR 816 : 0x0ffdb100 268284160
SPR 816 : 0x0fef5100 267342080
SPR 816 : 0x0fef9100 267358464
SPR 816 : 0x0fe0b100 266383616
SPR 816 : 0x0fef7100 267350272
SPR 816 : 0x0fef6100 267346176
SPR 816 : 0x0ffee100 268361984
SPR 816 : 0x0ffdc100 268288256
SPR 816 : 0xc0038110 -1073512176 <---------
SPR 816 : 0xc0063110 -1073336048
SPR 816 : 0xc0024110 -1073594096
SPR 816 : 0xc0017110 -1073647344
SPR 816 : 0xc000e110 -1073684208
SPR 816 : 0xc0003110 -1073729264
SPR 816 : 0xc0002110 -1073733360
SPR 816 : 0xc000d110 -1073688304
SPR 816 : 0xc0004110 -1073725168
SPR 816 : 0xc0012110 -1073667824
SPR 816 : 0xc01a1110 -1072033520
SPR 816 : 0xc01a2110 -1072029424
SPR 816 : 0xc000a110 -1073700592
SPR 816 : 0xc001c110 -1073626864
SPR 816 : 0xc001b110 -1073630960 <---------
SPR 816 : 0x0ff26100 267542784
SPR 816 : 0x0ff52100
SPR 816 : 0x10012100 268509440
SPR 816 : 0x100021e0 268444128
SPR 816 : 0x100241e0 268583392
SPR 816 : 0x100301e0 268632544
SPR 816 : 0xc0000e1f -1073738209
(gdb) disassemble start_kernel
Dump of assembler code for function start_kernel:
0xc02284a4 <start_kernel+0>: lis r3,-16358
0xc02284a8 <start_kernel+4>: stwu r1,-32(r1)
0xc02284ac <start_kernel+8>: mflr r0
0xc02284b0 <start_kernel+12>: addi r3,r3,21832
0xc02284b4 <start_kernel+16>: stw r0,36(r1)
0xc02284b8 <start_kernel+20>: stmw r29,20(r1)
0xc02284bc <start_kernel+24>: bl 0xc0012130 <printk>
0xc02284c0 <start_kernel+28>: addi r3,r1,8
0xc02284c4 <start_kernel+32>: bl 0xc022ee28 <setup_arch>
0xc02284c8 <start_kernel+36>: bl 0xc0230548 <sched_init>
0xc02284cc <start_kernel+40>: bl 0xc02321e8 <build_all_zonelists>
0xc02284d0 <start_kernel+44>: bl 0xc02326f4 <page_alloc_init>
0xc02284d4 <start_kernel+48>: lis r4,-16348
0xc02284d8 <start_kernel+52>: lis r3,-16355
0xc02284dc <start_kernel+56>: addi r4,r4,-5804
0xc02284e0 <start_kernel+60>: addi r3,r3,-6768
0xc02284e4 <start_kernel+64>: bl 0xc0012130 <printk>
0xc02284e8 <start_kernel+68>: bl 0xc022842c <parse_early_param>
0xc02284ec <start_kernel+72>: lis r5,-16353
0xc02284f0 <start_kernel+76>: lis r6,-16353
0xc02284f4 <start_kernel+80>: addi r5,r5,4580
0xc02284f8 <start_kernel+84>: addi r6,r6,5060
---Type <return> to continue, or q <return> to quit---
0xc02284fc <start_kernel+88>: subf r6,r5,r6
0xc0228500 <start_kernel+92>: lis r0,-13108
0xc0228504 <start_kernel+96>: ori r0,r0,52429
0xc0228508 <start_kernel+100>: srawi r6,r6,2
0xc022850c <start_kernel+104>: mullw r6,r6,r0
0xc0228510 <start_kernel+108>: lwz r4,8(r1)
0xc0228514 <start_kernel+112>: lis r7,-16349
0xc0228518 <start_kernel+116>: lis r3,-16355
0xc022851c <start_kernel+120>: addi r7,r7,-32404
0xc0228520 <start_kernel+124>: addi r3,r3,-6740
0xc0228524 <start_kernel+128>: bl 0xc0024dac <parse_args>
0xc0228528 <start_kernel+132>: bl 0xc0231220 <sort_main_extable>
0xc022852c <start_kernel+136>: bl 0xc022eaa0 <trap_init>
0xc0228530 <start_kernel+140>: bl 0xc02311f0 <rcu_init>
0xc0228534 <start_kernel+144>: bl 0xc022eaa4 <init_IRQ>
0xc0228538 <start_kernel+148>: bl 0xc023107c <pidhash_init>
0xc022853c <start_kernel+152>: bl 0xc0230f1c <init_timers>
0xc0228540 <start_kernel+156>: bl 0xc0230cf4 <softirq_init>
0xc0228544 <start_kernel+160>: bl 0xc022ead0 <time_init>
0xc0228548 <start_kernel+164>: bl 0xc02354b0 <console_init>
0xc022854c <start_kernel+168>: lis r9,-16348
0xc0228550 <start_kernel+172>: lwz r3,-8180(r9)
0xc0228554 <start_kernel+176>: cmpwi r3,0
next prev parent reply other threads:[~2005-05-07 18:50 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-05 17:20 [PATCH] 8xx: fix usage of pinned 8Mbyte TLB entries Marcelo Tosatti
2005-05-06 13:04 ` Jason McMullan
2005-05-06 11:39 ` Marcelo Tosatti
2005-05-06 16:43 ` Dan Malek
2005-05-06 13:38 ` Marcelo Tosatti
2005-05-06 22:49 ` Dan Malek
2005-05-06 20:03 ` Marcelo Tosatti
2005-05-07 3:09 ` Dan Malek
2005-05-06 23:05 ` Marcelo Tosatti
2005-05-07 4:39 ` Dan Malek
2005-05-07 5:16 ` Dan Malek
2005-05-07 13:16 ` Marcelo Tosatti [this message]
2005-05-07 20:02 ` Dan Malek
2005-05-07 15:47 ` Marcelo Tosatti
2005-05-07 14:05 ` Marcelo Tosatti
2005-05-09 6:09 ` Pantelis Antoniou
2005-05-07 14:59 ` Wolfgang Denk
2005-05-07 5:27 ` Dan Malek
2005-05-07 5:55 ` Dan Malek
2005-05-06 23:10 ` Dan Malek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050507131609.GA16996@logos.cnet \
--to=marcelo.tosatti@cyclades.com \
--cc=dan@embeddededge.com \
--cc=linuxppc-embedded@ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.