Messages in this thread | ![/](/images/icornerl.gif) | | Date | Fri, 7 Mar 2003 00:12:37 +0000 | From | Phillip Lougher <> | Subject | E: Loading and executing kernel from a non-standard address usin g SY SLINUX |
| |
On Wed, 5 Mar 2003 ravikumar.chakaravarthy@amd.com wrote: > Yup, > Thanks I got that. The physical address is computed using (virtual address) - > PAGE_OFFSET. So if my decompressed kernel is loaded at the physical address > 0x200000 (I defined this address), I would need the linker to know it. Actually > I went past that stage and now I got into start_kernel.. however it seems to be > hanging somewhere after that. Is there any other kernel changes I need to make > to avoid this hanging for a normal boot. >
You cannot get the kernel to run from a different physical address by changing PAGE_OFFSET. This is not what PAGE_OFFSET is for. PAGE_OFFSET specifies the offset of virtual memory from the start of physical memory, which is assumed to be 0x0.
You should never want to change PAGE_OFFSET.
> Thats why I tried to change > the PAGE_OFFSET value to 0xc0100000, which should be the right value > corresponding to (0x200000).
Wrong.
If you really do want the kernel to run at 0x200000 physical, you should try changing the link address to 0xc0200000. I'm no expert on the i386 kernel (I know the PPC kernel), but there's no guarantee that this will work, if there's any code which assumes the kernel is at 0x100000 physical.
Phillip
> -Ravi - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |