[parisc-linux] hack to use HPUX boot loader

Paul Bame bame@debian.fc.hp.com
Thu, 28 Oct 1999 12:38:13 -0500


= > 
= > > I find it very strange that the kernel is being linked to start at
= > > 0xc0010000.  It's not your average machine that has this much physical
= > 
= > Logical or physical ?
= 
= Physical, at least when loading with hpux.  LDFLAGS are "-R 0xc0010000
= -N -e stext".  I know at one time the link was being done at 0x10000.

There isn't any concept of physical versus virtual
location in the HP linker that I'm aware of, though there might be somthing
hidden in an extension record.

The hpux boot loader assumes the text relocation address should also be
used as a physical load address.  In the case of Linux, relocated
at 3Gb, this clearly makes no sense.  It works fine for HP-UX which
is relocated to, and runs in, low physical memory.

= Does anyone know why this was changed?

I assume the earlier linking was purely experimental, since I've been
told (and haven't confirmed myself) that Linux 2.2.x essentially needs
to be relocated at 3Gb (or some other big value) because it assumes
it's available from the page tables of every process.  If
Linux was relocated at addresses near zero, this would result in
user programs having to start at addresses larger than the amount
of memory used by the kernel, which would be weird.

	-P