From: Philipp Rumpf <prumpf@suse.de>
To: Ryan Bradetich <rbradetich@uswest.net>
Cc: Parisc Linux <parisc-linux@thepuffingroup.com>
Subject: Re: [parisc-linux] Questions understanding exec_kernel
Date: Wed, 22 Sep 1999 15:29:37 +0200 [thread overview]
Message-ID: <19990922152937.Y5481@suse.de> (raw)
In-Reply-To: <37E82CE6.3A5DFFB0@uswest.net>; from Ryan Bradetich on Tue, Sep 21, 1999 at 07:12:06PM -0600
> /*
> * exec_kernel(entry_point, &commandline, Kernel_FreeMemStart,
> half_bss_size );
> * exec_kernel() calls our kernel...
> */
>
> .EXPORT exec_kernel,code
> .PROC
> .CALLINFO
> .ENTRY
> exec_kernel
> mtsm %r0 ; Disable traps and interrupts.
>
> mtctl %r0, %cr17 ; Clear two-level IIA Space Queue
> mtctl %r0, %cr17 ; effectively setting kernel space.
> [Question: Page 5-149 from the PA-RISC 1.1 Architecture and Instruction
> Set Reference Manual states: "Level 0: If the target control register
> is CR 8, 9, 12, 13, 17, or 20, this instructin executes as a null
> instruction." I am assuming we are running at level 0 since the rfi
> command required running at level 0, so what is the difference between a
> null instruction and a nop?]
Level 0 refers to the hardware here. Level 0 hardware basically has no MMU,
so Linux will never run on it (does HP/UX ?)
> copy %arg2, %arg0 ; commandline to arg1
> [Note: I think the comment is incorrect... we are actually copying the
> Kernel_FreeMemStart into arg0 ... Am I missunderstanding the comment?]
No, looks like the comment did not get changed when the instruction did.
> ; arg3 is not changed..
> .EXIT
> rfi ; begin execution of kernel.
> nop
> [Question: Page 5-139 from the PA-RISC 1.1 Architecture and Instruction
> Set Reference Manual states: "Execution of an RFI instruction when any
> of the PSW !, I, or R bits are ones is an undefined operation." We are
> explicitly setting the Q & I bits before calling the rfi command. I
> don't understand how this works ... ]
We did execute mtsm 0 which sets the system mask (which includes the Q, I and
R bits) to 0.
Philipp Rumpf
prev parent reply other threads:[~1999-09-22 13:27 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-09-22 1:12 [parisc-linux] Questions understanding exec_kernel Ryan Bradetich
1999-09-22 4:26 ` Grant Grundler
1999-09-22 6:45 ` [parisc-linux] C360 boot problem Hannu Martikka
1999-09-22 13:34 ` Philipp Rumpf
1999-09-22 13:32 ` [parisc-linux] Questions understanding exec_kernel Philipp Rumpf
1999-09-22 12:46 ` Hai Vo-Ba
1999-09-22 13:36 ` Philipp Rumpf
1999-09-22 13:29 ` Philipp Rumpf [this message]
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=19990922152937.Y5481@suse.de \
--to=prumpf@suse.de \
--cc=parisc-linux@thepuffingroup.com \
--cc=rbradetich@uswest.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox