summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbcollins <tailor@grayson>2006-06-01 13:19:42 -0400
committerBen Collins <bcollins@ubuntu.com>2006-06-01 13:19:42 -0400
commit4129046c2d10bec0088a5330038943b53c1b7188 (patch)
treec4232dad98c4a781ef35ddd66e6957d450ad10e3
parentab246cb8abaac8ecf95e7f0cd69f389456eb8e3e (diff)
downloadsilo-4129046c2d10bec0088a5330038943b53c1b7188.tar.gz
[silo @ 153]
Adjust sun4u_initrd_phys to be relative to the phys_base. This makes initrd work again for cases where physical memory base isn't 0x0.#
-rw-r--r--second/memory.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/second/memory.c b/second/memory.c
index eea53be..0c56db6 100644
--- a/second/memory.c
+++ b/second/memory.c
@@ -376,7 +376,12 @@ static char *sun4u_memory_find (unsigned int len, int is_kernel)
} else {
sun4u_initrd_len = len;
sun4u_initrd_virt = virt;
- sun4u_initrd_phys = initrd_phys = phys;
+ initrd_phys = phys;
+ /* Not sure what the old kernel crap is for, but it
+ * expects the passed initrd physical to be relative to
+ * the phys memory base. We'll keep compatible with older
+ * kernels to avoid any problems. */
+ sun4u_initrd_phys = phys - phys_base;
}
__asm __volatile("\n\