linux-mips
[Top] [All Lists]

Réf. : Re: Réf. : Re: To put Linux kernel as closer as possible to 0x800

To: linux-mips@linux-mips.org
Subject: Réf. : Re: Réf. : Re: To put Linux kernel as closer as possible to 0x80000000
From: Florian DELIZY <florian.delizy@sagem.com>
Date: Wed, 14 Dec 2005 10:33:34 +0100
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org


 
> Hi Florian,
> We use MIPS 4kec.
> Linux runs in Interrupt Compatibility Mode, and it will use 0x80000200 to store the "Jump" instruction.
> Therefore, we can move Linux kernel to 0x80000204. Is it right?

Not exactly, take care that the instruction located just after your jump is also loaded and executed by the pipe, so you can place it
at 0x80000208 (to have your two instructions safe), which should look like :

800000200:         j some_address
800000204:        nop
800000208:         LinuxFirstInstruction
 
Off course, you must also advise your boot loader to jump at the correct address within the kernel (kernel_entry)

> Another new question. If we modify Linux to use Ventored Interrupt mode, can we gain much performance?

Ventored ?? I guess you mean "Vectored interrupt". IMO you won't get much performance gain, in this particular situation,
since your interrupt vector is just making a jump ... you might just gain 1 instruction (the nop) but that's all.
Somebody may have another opinion about this ...

Regards

--- Florian
 
> Regards,
> Colin
 
----- Original Message -----
From: Florian DELIZY
To: Yoichi Yuasa
Cc: colin ; linux-mips@linux-mips.org
Sent: Tuesday, December 13, 2005 8:28 PM
Subject: Réf. : Re: To put Linux kernel as closer as possible to 0x80000000



> Yoichi Yuasa wrote :

> Hi
>
> It has no problem.
> Kernel has reserved space for exception handlers.
>
> Yoichi
>
> 2005/12/13, colin <
colin@realtek.com.tw>:
> >
> > Hi all,
> > We want to put Linux kernel as closer as possible to the bottom of memory.
> > I know that there is some stuff put in the beginning of memory, like
> > Exception table.
> > So, what's the closest address to 0x80000000 that is allowable to store
> > kernel?



You should just take care to start after reserved exception/interruption vectors


0x80000000 : TLB Refull

0x80000080 : General Exception Vector


+ 32 instructions.


Depending on your architecture, those addresses may vary (I don't know anything about MIPS64


BTW, what's your arch ?


-- Florian


-----BEGIN GEEK CODE BLOCK-----

GCS:GE:GM/ d? s-:+ a-- C+++
U(BLUAVHISX)++++ P++++ L++++
E--- W+++ N+++ o++++ w--- O M V
PS PE- PGP++ t 5 X+++ R+++ tv-
b+ BI++++ D+++ G e+++ h-- r+++ y+++

-----END GEEK CODE BLOC------


<Prev in Thread] Current Thread [Next in Thread>
  • Réf. : Re: Réf. : Re: To put Linux kernel as closer as possible to 0x80000000, Florian DELIZY <=