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: