File ramdisk.patch of Package aranym

From e8c0b10c096cec2ffefc2830fc6af9618173fd98 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@linux-m68k.org>
Date: Mon, 21 Apr 2014 15:37:00 +0200
Subject: [PATCH] Always load ramdisk to end of memory chunk

---
 ChangeLog            |  3 +++
 src/bootos_linux.cpp | 13 ++-----------
 2 files changed, 5 insertions(+), 11 deletions(-)

diff --git a/src/bootos_linux.cpp b/src/bootos_linux.cpp
index 8bd25ad..ecd2b6c 100644
--- a/src/bootos_linux.cpp
+++ b/src/bootos_linux.cpp
@@ -516,8 +516,8 @@ int LinuxBootOs::checkKernel(void)
 		rd_len = ramdisk_length - RAMDISK_FS_START;
 		if (FastRAMSize > rd_offset + rd_len) {
 			/* Load in FastRAM */
-			rd_start = FastRAMBase + rd_offset;
-			memcpy(FastRAMBaseHost + rd_offset, (unsigned char *)ramdisk + RAMDISK_FS_START, rd_len);
+			rd_start = FastRAMBase + FastRAMSize - rd_len;
+			memcpy(FastRAMBaseHost + rd_start - FastRAMBase, (unsigned char *)ramdisk + RAMDISK_FS_START, rd_len);
 		} else {
 			/* Load in ST-RAM */
 			rd_start = RAMSize - rd_len;
@@ -527,15 +527,6 @@ int LinuxBootOs::checkKernel(void)
 		bi.ramdisk.addr = SDL_SwapBE32(rd_start);
 		bi.ramdisk.size = SDL_SwapBE32(rd_len);
 	    D(bug("lilo: Ramdisk at 0x%08x in RAM, length=0x%08x", rd_start, rd_len));
-
-#if 0
-		for (i=0; i<16; i++) {
-			uint32 *tmp;
-
-			tmp = (uint32 *)((unsigned char *)FastRAMBaseHost + rd_offset + 512);
-			D(bug("lilo: ramdisk[%d]=0x%08x",i, SDL_SwapBE32(tmp[i])));
-		}
-#endif
 	} else {
 		bi.ramdisk.addr = 0;
 		bi.ramdisk.size = 0;
-- 
2.1.0

openSUSE Build Service is sponsored by