[U-Boot-Users] Re: The i386 patch

Robert Kaiser rob at sysgo.de
Wed Nov 20 17:45:29 CET 2002


Am Mittwoch, 20. November 2002 15:06 schrieben Sie:
> In message <200211201114.gAKBEss01326 at dagobert.svc.sysgo.de> you wrote:
>
> [explanation of x86 gate mechanism ..]
>
> But this is not what U-Boot needs.

I thought so :-)

> You may remember that we used a jump table  attached  to  the  global
> data in early versions of PPCBoot. I didn't like this. The nice thing
> about  the  syscall  trap  on  PPC is that you can easily put a "jump
> table" at a well-known location, so that a standalone application can
> access certain services (those explicitely exported by  U-Boot  using
> the  syscall  interface)  without  depending  on  a  special software
> version.

So, essentially, the syscall mechanism in U-Boot/PPC is just a jump table at 
a well known location, where that location is defined by the architecture, 
right ?

This surely makes sense, but I'm not sure wether it should be adopted as a 
model for the other architectures.

Why not do it as the good old OS-9 or pSOS did: identify one absolute address 
that is otherwise unused (every architecture has this in some form: an unused 
trap vector, unused word in space reserved for first level exception handler, 
etc.). In that location, have U-boot publish the address of the jump table at 
startup time (by storing a pointer to it). This is actually no different from 
the trap mechanism used by the PPC, except that the "well-known location" is 
defined by convention rather than by the hardware. And this could be done 
portably.

Rob

----------------------------------------------------------------
Robert Kaiser                         email: rkaiser at sysgo.de
SYSGO AG
Am Pfaffenstein 14                    phone: (49) 6136 9948-762
D-55270 Klein-Winternheim / Germany   fax:   (49) 6136 9948-10




More information about the U-Boot mailing list