From: [EMAIL PROTECTED]
Subject: ELF loading
Date: Fri, 25 Feb 2000 10:47:03 +0100
> grub-0.5.93.1/stage2/boot.c lines 423:
>
> if (type == KERNEL_TYPE_FREEBSD)
> memaddr = RAW_ADDR (phdr->p_paddr & 0xFFFFFF);
> else
> memaddr = RAW_ADDR (phdr->p_paddr);
This was discussed a while ago. Look at the archive of this list.
> Another problem with your bootloader is that it does not like code
> that has to go below the 1MB (according to the code, it loads it but
> sets errnum to ERR_BELOW_1MB). Which is a problem for my OS since I
That is a known problem (or a feature) in GRUB, but I don't think
that will be fixed in near future.
> when I implement SMP. Would it be possible to specify an area in the
> first 511Kb that the OS would be free to use as part of the MultiBoot
> spec?! I am sure that you can leave a few Kb!
If you can permit to depend on the GRUB internal, you can use
[0x78000,0x80000] freely in your OS. But this assumption is
deprecated, because we may change the memory layout in the
future. Perhaps the right thing to be done is to detect which memory
range is used based on the Multiboot information dynamically. I don't
know how difficult this is. Maybe it would be easier to move the
necessary parts of the information to somewhere so that your OS could
use the low memory region without any risk. I think the OSKit
Multiboot support does the latter, but I'm not sure.
Okuji