All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [parisc-linux] arch/parisc/kernel/realmode_setup.c Question
@ 1999-11-15 18:33 bame
  0 siblings, 0 replies; 15+ messages in thread
From: bame @ 1999-11-15 18:33 UTC (permalink / raw)
  To: parisc-linux


I don't work Mondays, but I saw this by chance and thought I should
respond as the culprit :-)

Don't knock yourself out figuring out where a C3000 is dying now
(this can be a TREMENDOUS time sink!).  If you want to get a better PIM
dump of the problem, comment out the 'mtctl ??, %cr14' in head.S.

But logic is all that's required here.  The RFI attempts to
"resume" executaion at 0xC<something> which isn't mapped, and there's
no TLB handler (that I know of, haven't studied it yet though), so this
will generate an immediate fault.

I'm glad folks are finding the C setup code easier to grok, but I
warn that the most innocent-seeming change can cause the compiler to
generate something which will lead to a mysterious death while booting!
This fragility is unacceptable.

The "best" solution to this which I've come up with is to segregate the
realmode code like Phillip suggests, and link it into a small separate
executable, so that vmlinux is logically two executables in one.  This
design is a bit twisted and will mainly impact a couple of Makefiles as well
as head.S, realmode_setup.c, setup.c, and cosmetic changes to traps.c
However once it's done it'll be easy to understand, change, and maintain
the realmode startup code.

I'm planning to start this tomorrow so somebody stop me if it seems stupid.
Very rough notes -- very rough -- about the twisted design can be found at
http://puffin.external.hp.com/~bame/boot.html  I'd like to be shown there's
an easier way...

	-Paul Bame

^ permalink raw reply	[flat|nested] 15+ messages in thread
* [parisc-linux] arch/parisc/kernel/realmode_setup.c Question
@ 1999-11-14 22:49 Ryan Bradetich
  1999-11-15  0:59 ` Alex deVries
  1999-11-15 23:02 ` Frank Rowand
  0 siblings, 2 replies; 15+ messages in thread
From: Ryan Bradetich @ 1999-11-14 22:49 UTC (permalink / raw)
  To: paul_bame; +Cc: Parisc Linux

Paul,

I have started working on getting the kernel to boot on the PA2.0
architecture again, and I see the you and others have been doing
lots of work with the initialization code.  (Nice job to everyone btw,
the code is a lot easier to figure out for a newbie like me! :)

I was looking at the following section of code and I have a
discrepancy that I wanted to make you aware of.  I don't know how
to fix it yet, but I will continue to look.

I am working on a C200+ which has the PA2.0 processor, so in the
the following section of code it should give me an error during the
BTLB initialization, but during the PDC_BTLB_INSERT pret is set
to 0, so the check for non-PA1.1 architecture's fail.

I will continue to look through the documentation that has been
previously pointed out, and the devresource page  pointed out by
Frank Rowand to see if I can find a solution to the problem.

Thanks,

Ryan Bradetich


[Taken from arch/parisc/kernel/realmode_setup.c]

 /* This whole VM setup stuff may be removed ultimately.  It seems
   * to me that once the TLB miss handlers are ready, we just switch
   * to VM and let them handle TLB population -PB
   */

  pret = (*PAGE0->mem_pdc)(
  PDC_BLOCK_TLB,
  PDC_BTLB_INSERT,
  0x00000000,  /* MS bits, virt page number */
  0xc0000,  /* LS bits, virt page number */
  0x00000000,  /* Physical page number */
  4096,   /* # pages to map */
  0x03000000,  /* access rights, etc... */
  0);   /* slot number */

  if (pret != 0)
 {
       mprintf("PDC_BTLB_INSERT returned %d\n", pret);
      if (pret == -1)
     {
        mprintf("Looks like there's no BTLB on this box, so it's
probably\n"
                       "either PA1.0 or PA2.0.  In any case we're
screwed for now\n");
        led_flash();
     }
}

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~1999-11-16 21:31 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
1999-11-15 18:33 [parisc-linux] arch/parisc/kernel/realmode_setup.c Question bame
  -- strict thread matches above, loose matches on Subject: below --
1999-11-14 22:49 Ryan Bradetich
1999-11-15  0:59 ` Alex deVries
1999-11-15  1:01   ` Ryan Bradetich
1999-11-15  4:42     ` Alex deVries
1999-11-15  7:20     ` Philipp Rumpf
1999-11-15 13:28       ` Matthew Wilcox
1999-11-15 14:15       ` Ryan Bradetich
1999-11-15 23:02 ` Frank Rowand
1999-11-16  0:31   ` Alex deVries
1999-11-15 23:34     ` Frank Rowand
1999-11-16  0:48       ` Alex deVries
1999-11-15 23:42         ` Frank Rowand
1999-11-16 14:02           ` Ryan Bradetich
1999-11-16 21:32             ` Frank Rowand

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.