# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Node ID 7ba73e24c5a5f3e578de7756c7eee8a2b9b36b91
# Parent 0b176f84c3bf1fa3c00b6d64e2d018c6c3499aad
Pick up SMBIOS entry point in the ROMBIOS.
Signed-off-by: Andrew D. Ball <aball@xxxxxxxxxx>
---
tools/firmware/rombios/rombios.c | 45 +++++++++++++++++++++++++++++++++++++++
1 files changed, 45 insertions(+)
diff -r 0b176f84c3bf -r 7ba73e24c5a5 tools/firmware/rombios/rombios.c
--- a/tools/firmware/rombios/rombios.c Mon Aug 14 17:37:07 2006 +0100
+++ b/tools/firmware/rombios/rombios.c Mon Aug 14 17:38:23 2006 +0100
@@ -9443,6 +9443,43 @@ rom_scan_increment:
mov ds, ax
ret
+#ifdef HVMASSIST
+
+; Copy the SMBIOS entry point over from 0x9f000, where hvmloader left it.
+; The entry point must be somewhere in 0xf0000-0xfffff on a 16-byte boundary,
+; but the tables themeselves can be elsewhere.
+smbios_init:
+ push ax
+ push cx
+ push es
+ push ds
+ push di
+ push si
+
+ mov cx, #0x001f ; 0x1f bytes to copy
+ mov ax, #0xf000
+ mov es, ax ; destination segment is 0xf0000
+ mov di, smbios_entry_point ; destination offset
+ mov ax, #0x9f00
+ mov ds, ax ; source segment is 0x9f000
+ mov si, #0x0000 ; source offset is 0
+ cld
+ rep
+ movsb
+
+ pop si
+ pop di
+ pop ds
+ pop es
+ pop cx
+ pop ax
+
+ ret
+
+#endif
+
+
+
;; for 'C' strings and other data, insert them here with
;; a the following hack:
;; DATA_SEG_DEFS_HERE
@@ -9724,6 +9761,7 @@ post_default_ints:
#ifdef HVMASSIST
call _copy_e820_table
+ call smbios_init
#endif
call rom_scan
@@ -10538,6 +10576,13 @@ dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ;; 768 bytes
dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ;; 832 bytes
dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ;; 896 bytes
+
+.align 16
+smbios_entry_point:
+db 0,0,0,0,0,0,0,0 ; 8 bytes
+db 0,0,0,0,0,0,0,0 ; 16 bytes
+db 0,0,0,0,0,0,0,0 ; 24 bytes
+db 0,0,0,0,0,0,0 ; 31 bytes
ASM_END
#else // !HVMASSIST
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|