From 1c532eedf1f8919ce625ee33d6c8ceaf7fea836f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Sat, 15 Nov 2008 03:30:00 +0000 Subject: [PATCH] Make the tgz archive offset in floppy image settable. Set it to 270k for now, until zbeos gets some diet. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28657 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- build/jam/BuildSetup | 7 +++++++ build/jam/ImageRules | 3 ++- src/system/boot/platform/bios_ia32/shell.S | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup index 928b9b8666..91b0b0226c 100644 --- a/build/jam/BuildSetup +++ b/build/jam/BuildSetup @@ -216,16 +216,22 @@ switch $(HAIKU_CPU) { { HAIKU_DEFINES += __POWERPC__ ; HAIKU_BOOT_PLATFORM = openfirmware ; + # offset in floppy image (>= sizeof(zbeos)) + HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 192 ; # in kB - unused yet } case x86 : { HAIKU_DEFINES += __INTEL__ ; HAIKU_BOOT_PLATFORM = bios_ia32 ; + # offset in floppy image (>= sizeof(zbeos)) + HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 270 ; # in kB } case m68k : { HAIKU_DEFINES += __M68K__ ; HAIKU_BOOT_PLATFORM = atari_m68k ; + # offset in floppy image (>= sizeof(zbeos)) + HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 130 ; # in kB } case * : Exit "Currently unsupported target CPU:" $(HAIKU_CPU) ; @@ -233,6 +239,7 @@ switch $(HAIKU_CPU) { HAIKU_ARCH ?= $(HAIKU_CPU) ; HAIKU_ARCH_MACRO_DEFINE = ARCH_$(HAIKU_ARCH) ; HAIKU_DEFINES += $(HAIKU_ARCH_MACRO_DEFINE) ; +HAIKU_DEFINES += BOOT_ARCHIVE_IMAGE_OFFSET=$(HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET) ; # directories HAIKU_OBJECT_BASE_DIR = [ FDirName $(HAIKU_OBJECT_DIR) haiku ] ; diff --git a/build/jam/ImageRules b/build/jam/ImageRules index 44e4c4ce76..b93bdaf2b7 100644 --- a/build/jam/ImageRules +++ b/build/jam/ImageRules @@ -1047,6 +1047,7 @@ rule BuildFloppyBootImage image : zbeos : archive Depends $(image) : $(zbeos) ; Depends $(image) : $(archive) ; #MakeLocateDebug $(image) ; + ARCHIVE_IMAGE_OFFSET on $(image) = $(HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET) ; BuildFloppyBootImage1 $(image) : $(zbeos) $(archive) ; } @@ -1060,7 +1061,7 @@ actions BuildFloppyBootImage1 # add the boot drivers tgz archive # keep the offset in sync with # src/system/boot/loader/file_systems/tarfs/tarfs.cpp:kFloppyArchiveOffset - dd if=$(>[2]) of=$(<) bs=192k seek=1 conv=notrunc + dd if=$(>[2]) of=$(<) bs=$(ARCHIVE_IMAGE_OFFSET)k seek=1 conv=notrunc } diff --git a/src/system/boot/platform/bios_ia32/shell.S b/src/system/boot/platform/bios_ia32/shell.S index ff3130fb69..5db915c2ff 100644 --- a/src/system/boot/platform/bios_ia32/shell.S +++ b/src/system/boot/platform/bios_ia32/shell.S @@ -37,7 +37,7 @@ sNumSectors: // written by the "makeflop" command in 512 byte blocks // 0x180 is the allowed maximum, as the zipped TAR with the // kernel and the boot module might start at offset 192 kB - .word 0x0180 + .word BOOT_ARCHIVE_IMAGE_OFFSET*2 floppy_start: cli