[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#328832: mol-drivers-macosx: Run Tiger with mol



Hey guys,

sorry to come back to you so late, but my laptop was off the internet
until now. I don't have much time, so I'll just attach the bootloader
patch. Note that the only functional change I did was changing a few
defines that affect the layout of things in memory.

Cheers,

Mattias

On Sat, 2006-08-05 at 13:06 +0200, Aurélien GÉRÔME wrote:
> On Sat, Aug 05, 2006 at 12:57:31PM +0200, Elimar Riesebieter wrote:
> > On Sat, 05 Aug 2006 the mental interface of
> > Aurélien GÉRÔME told:
> > 
> > > On Sat, Sep 17, 2005 at 06:02:43PM +0200, Elimar Riesebieter wrote:
> > > > According to #328826 we need the bootx loader from
> > > > http://www-user.rhrk.uni-kl.de/~nissler/mol/bootx.gz to run OSX10.4
> > > > out of linux.
> > > 
> > > Is there somewhere by any chance the source code of this ELF file?
> > 
> > I don't know :(
> 
> Indeed, and that is precisely why I Cc'ed Mattias Nissler, the author
> of the patch, to get some more details about how he proceeded. ;)
> 
> Cheers,
Only in mol_bootx: .deps
Only in mol_bootx: .inc-ppc
Only in mol_bootx: autom4te.cache
Only in mol_bootx: config.log
Only in mol_bootx: config.status
Only in mol_bootx: configure
Only in mol_bootx/rules: Makefile.defs
diff -ur mol_bootx_orig/rules/Makefile.top mol_bootx/rules/Makefile.top
--- mol_bootx_orig/rules/Makefile.top	2005-10-11 05:49:55.000000000 +1300
+++ mol_bootx/rules/Makefile.top	2005-07-05 10:57:09.000000000 +1200
@@ -9,7 +9,7 @@
 # No serviceable parts below
 #################################################################
 
-VERSION		:= 0.9.70
+VERSION		:= 0.9.70 [96MB memory map patch]
 EXTRA_VERSION	:= $(VENDOR)
 RELEASENAME	:= $(VERSION)$(EXTRA_VERSION)$(VENDOR)
 
@@ -27,9 +27,6 @@
 ARCH    	:= $(shell $(scriptdir)/archname $$ARCH)
 export		ARCH
 
-IDIRS		= -I. -I$(ARCHINCLUDES) -I./include -I$(srcdir)/include \
-		  -I$(srcdir)/shared -I$(srcdir)/osiinclude $(INCLUDES) -I-
-
 all:
 
 -include	$(top_srcdir)/rules/Makefile.defs
@@ -39,3 +36,7 @@
 DISTCLEANFILES	= .objs-*
 
 LIBGCC		= `$(CC) -print-libgcc-file-name`
+
+IDIRS		= -I. -I$(ARCHINCLUDES) -I./include -I$(srcdir)/include \
+		  -I$(srcdir)/shared -I$(srcdir)/osiinclude $(INCLUDES) -I-
+
Only in mol_bootx/rules: config.h.in
diff -ur mol_bootx_orig/setup_links mol_bootx/setup_links
--- mol_bootx_orig/setup_links	2005-10-11 05:49:55.000000000 +1300
+++ mol_bootx/setup_links	2005-07-05 10:37:29.000000000 +1200
@@ -24,7 +24,7 @@
 
 SDIR="$PREFIX$MDIR/src"
 
-ln -s "$SDIR/include/osi_calls.h" src/osiinclude/
+ln -s "$SDIR/shared/osi_calls.h" src/osiinclude/
 ln -s "$SDIR/include/pseudofs_sh.h" src/osiinclude/
 ln -s "$SDIR/include/boothelper_sh.h" src/osiinclude/
 ln -s "$SDIR/drivers/disk/include/ablk_sh.h" src/osiinclude/
Only in mol_bootx/src: .deps
Only in mol_bootx/src: .dummy.c
Only in mol_bootx/src: .objs-ppc
Only in mol_bootx/src/accel: .deps
Only in mol_bootx/src/accel: .objs-ppc
Only in mol_bootx/src: bootx
Only in mol_bootx/src: bootx.syms
Only in mol_bootx/src/fs: .deps
Only in mol_bootx/src/fs: .objs-ppc
diff -ur mol_bootx_orig/src/include/sl.h mol_bootx/src/include/sl.h
--- mol_bootx_orig/src/include/sl.h	2005-10-11 05:50:15.000000000 +1300
+++ mol_bootx/src/include/sl.h	2005-07-05 10:48:55.000000000 +1200
@@ -32,6 +32,7 @@
 
 #define kFailToBoot (1)
 
+#if 0
 /*
 
 Memory Map...  Assumes 32 MB
@@ -85,6 +86,61 @@
 #define kMallocAddr     (0x01D00000)
 #define kMallocSize     (0x00100000)
 
+#endif
+
+/*
+
+Memory Map:  assumes 96 MB
+
+Physical Address
+
+Open Firmware Version    3x, 4x, ...
+00000000 - 00003FFF  :   Exception Vectors
+00004000 - 057FFFFF  :   Free Memory
+05800000 - 05FFFFFF  :   OF Image
+
+
+Logical Address
+
+00000000 - 00003FFF  : Exception Vectors
+00004000 - 03FFFFFF  : Kernel Image, Boot Struct and Drivers
+04000000 - 04FFFFFF  : File Load Area
+05000000 - 053FFFFF  : FS Cache
+05400000 - 055FFFFF  : Malloc Zone
+05600000 - 057FFFFF  : BootX Image
+05800000 - 05FFFFFF  : Unused
+
+*/
+
+#define kVectorAddr     (0x00000000)
+#define kVectorSize     (0x00004000)
+
+// OF 3.x
+#define kImageAddr      (0x00004000)
+#define kImageSize      (0x03FFC000)
+
+// OF 1.x 2.x
+#define kImageAddr0     (0x00004000)
+#define kImageSize0     (0x002FC000)
+#define kImageAddr1     (0x00300000)
+#define kImageSize1     (0x00200000)
+#define kImageAddr1Phys (0x05800000)
+#define kImageAddr2     (0x00500000)
+#define kImageSize2     (0x03B00000)
+
+#define kLoadAddr       (0x04000000)
+#define kLoadSize       (0x01000000)
+
+#define kFSCacheAddr    (0x05000000)
+#define kFSCacheSize    (0x00400000)
+
+#define kMallocAddr     (0x05400000)
+#define kMallocSize     (0x00200000)
+
+#define kMallocAddr_H   (0x05400000)
+#define kMallocSize_H   (0x00200000)
+#define kImageAddr_H    (0x06000000)
+
 // Default Output Level
 #define kOutputLevelOff  (0)
 #define kOutputLevelFull (16)
Only in mol_bootx/src/libc: .deps
Only in mol_bootx/src/libc: .objs-ppc
Only in mol_bootx/src/main: .deps
Only in mol_bootx/src/main: .objs-ppc
Only in mol_bootx/src: osiinclude
Only in mol_bootx/src: shared

Reply to: