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

From: Florian DELIZY <[email-masked]>
Date: Wed, 14 Dec 2005 10:33:34 +0100

> 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 ; [email-masked] 
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 <[email-masked]>:
> >
> > 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------