# HG changeset patch
# User Keir Fraser <keir@xxxxxxx>
# Date 1312886020 -3600
# Node ID ea18090ab6e3cb3c69d232ec0865589688db3f81
# Parent f5176c177b9940b7be756ddc61563bc5878e696d
hvmloader: Move init_vm86_tss() back into common code.
It is not BIOS specific.
Signed-off-by: Keir Fraser <keir@xxxxxxx>
---
diff -r f5176c177b99 -r ea18090ab6e3 tools/firmware/hvmloader/config.h
--- a/tools/firmware/hvmloader/config.h Tue Aug 09 08:53:40 2011 +0100
+++ b/tools/firmware/hvmloader/config.h Tue Aug 09 11:33:40 2011 +0100
@@ -25,7 +25,6 @@
void (*bios_info_setup)(void);
void (*bios_info_finish)(void);
- void (*vm86_setup)(void);
void (*e820_setup)(void);
void (*acpi_build_tables)(void);
diff -r f5176c177b99 -r ea18090ab6e3 tools/firmware/hvmloader/hvmloader.c
--- a/tools/firmware/hvmloader/hvmloader.c Tue Aug 09 08:53:40 2011 +0100
+++ b/tools/firmware/hvmloader/hvmloader.c Tue Aug 09 11:33:40 2011 +0100
@@ -336,6 +336,25 @@
cmos_outb(0x35, (uint8_t)( alt_mem >> 8));
}
+/*
+ * Set up an empty TSS area for virtual 8086 mode to use.
+ * The only important thing is that it musn't have any bits set
+ * in the interrupt redirection bitmap, so all zeros will do.
+ */
+static void init_vm86_tss(void)
+{
+ void *tss;
+ struct xen_hvm_param p;
+
+ tss = mem_alloc(128, 128);
+ memset(tss, 0, 128);
+ p.domid = DOMID_SELF;
+ p.index = HVM_PARAM_VM86_TSS;
+ p.value = virt_to_phys(tss);
+ hypercall_hvm_op(HVMOP_set_param, &p);
+ printf("vm86 TSS at %08lx\n", virt_to_phys(tss));
+}
+
static void apic_setup(void)
{
/* Set the IOAPIC ID to the static value used in the MP/ACPI tables. */
@@ -506,8 +525,7 @@
hypercall_hvm_op(HVMOP_set_param, &p);
}
- if ( bios->vm86_setup )
- bios->vm86_setup();
+ init_vm86_tss();
cmos_write_memory_size();
diff -r f5176c177b99 -r ea18090ab6e3 tools/firmware/hvmloader/rombios.c
--- a/tools/firmware/hvmloader/rombios.c Tue Aug 09 08:53:40 2011 +0100
+++ b/tools/firmware/hvmloader/rombios.c Tue Aug 09 11:33:40 2011 +0100
@@ -40,25 +40,6 @@
#define ROMBIOS_MAXOFFSET 0x0000FFFF
#define ROMBIOS_END (ROMBIOS_BEGIN + ROMBIOS_SIZE)
-/*
- * Set up an empty TSS area for virtual 8086 mode to use.
- * The only important thing is that it musn't have any bits set
- * in the interrupt redirection bitmap, so all zeros will do.
- */
-static void rombios_init_vm86_tss(void)
-{
- void *tss;
- struct xen_hvm_param p;
-
- tss = mem_alloc(128, 128);
- memset(tss, 0, 128);
- p.domid = DOMID_SELF;
- p.index = HVM_PARAM_VM86_TSS;
- p.value = virt_to_phys(tss);
- hypercall_hvm_op(HVMOP_set_param, &p);
- printf("vm86 TSS at %08lx\n", virt_to_phys(tss));
-}
-
static void rombios_setup_e820(void)
{
/*
@@ -178,7 +159,6 @@
.bios_info_setup = rombios_setup_bios_info,
.bios_info_finish = NULL,
- .vm86_setup = rombios_init_vm86_tss,
.e820_setup = rombios_setup_e820,
.acpi_build_tables = rombios_acpi_build_tables,
diff -r f5176c177b99 -r ea18090ab6e3 tools/firmware/hvmloader/seabios.c
--- a/tools/firmware/hvmloader/seabios.c Tue Aug 09 08:53:40 2011 +0100
+++ b/tools/firmware/hvmloader/seabios.c Tue Aug 09 11:33:40 2011 +0100
@@ -143,7 +143,6 @@
.bios_info_setup = seabios_setup_bios_info,
.bios_info_finish = seabios_finish_bios_info,
- .vm86_setup = NULL,
.e820_setup = seabios_setup_e820,
.acpi_build_tables = seabios_acpi_build_tables,
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|