summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog3
-rw-r--r--VERSION2
-rw-r--r--bincode.asm23
-rw-r--r--test/c32/gfxtest.config15
-rw-r--r--test/c32_pxe/gfxtest.config15
5 files changed, 56 insertions, 2 deletions
diff --git a/Changelog b/Changelog
index b73e644..3ddb05f 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,6 @@
+29/10/2009: v4.1.38
+ - extend interface so it works with gfxboot.c32
+
19/10/2009: v4.1.37
- fix progress indicator for PXE boot
diff --git a/VERSION b/VERSION
index da7fbad..7ddf80b 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-4.1.37
+4.1.38
diff --git a/bincode.asm b/bincode.asm
index 4f1b180..cad1050 100644
--- a/bincode.asm
+++ b/bincode.asm
@@ -68,7 +68,7 @@ li.size equ 12 ; search for 'li.size'!
link_entries equ 64
-; sysconfig data
+; sysconfig data (64 bytes [sc.size])
sc.bootloader equ 0
sc.sector_shift equ 1
sc.media_type equ 2
@@ -90,6 +90,11 @@ sc.archive_start equ 36
sc.archive_end equ 40
sc.mem0_start equ 44
sc.mem0_end equ 48
+sc.xmem_start equ 52
+sc.xmem_end equ 56
+sc.features equ 60
+sc.reserved_1 equ 62
+sc.size equ 64
; enum_type_t
@@ -822,6 +827,22 @@ gfx_init_20:
pop dword [malloc.area+4]
mov ebx,[boot.sysconfig]
+ cmp byte [es:ebx+sc.sysconfig_size],sc.size
+ jb gfx_init_28
+ ; pass back feature flags
+ mov word [es:ebx+sc.features],3
+ ; only one xmem area
+ mov eax,[es:ebx+sc.xmem_start]
+ mov edx,[es:ebx+sc.xmem_end]
+ cmp edx,eax
+ jbe gfx_init_28
+ ; ok, use only this one
+ mov [malloc.area+8],eax
+ mov [malloc.area+8+4],edx
+ jmp gfx_init_40
+
+gfx_init_28:
+ ; old way to specify extended mem areas
mov esi,malloc.area+8
mov ecx,malloc.areas-1 ; extended mem areas
gfx_init_30:
diff --git a/test/c32/gfxtest.config b/test/c32/gfxtest.config
new file mode 100644
index 0000000..f043184
--- /dev/null
+++ b/test/c32/gfxtest.config
@@ -0,0 +1,15 @@
+# all files in this directory ex this config file are added
+# to the bootloader directory
+
+# archive file name in theme directory
+archive=bootlogo
+
+# setup function name in 'gfxtest' script
+setup=isolinux
+
+# list of files to remove in bootloader directory
+rm_files="gfxboot.com"
+
+# additional 'gfxboot' args
+args=""
+
diff --git a/test/c32_pxe/gfxtest.config b/test/c32_pxe/gfxtest.config
new file mode 100644
index 0000000..1749f57
--- /dev/null
+++ b/test/c32_pxe/gfxtest.config
@@ -0,0 +1,15 @@
+# all files in this directory ex this config file are added
+# to the bootloader directory
+
+# archive file name in theme directory
+archive=bootlogo
+
+# setup function name in 'gfxtest' script
+setup=pxelinux
+
+# list of files to remove in bootloader directory
+rm_files="gfxboot.com"
+
+# additional 'gfxboot' args
+args=""
+