Linux PARISC architecture development
 help / color / mirror / Atom feed
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

      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