From: Sasha Levin Date: Wed, 1 Jun 2011 15:10:42 +0000 (+0300) Subject: kvm tools: Use vesa reserved space for strings and modes X-Git-Tag: next-20110824~3^2~229 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=26ec4e7b628649bc03f9d24daf52163070536d5a;p=karo-tx-linux.git kvm tools: Use vesa reserved space for strings and modes As defined in the spec, the reserved space in struct vesa_general_info should be used to store vesa oem string an a list of possible modes. Signed-off-by: Sasha Levin Signed-off-by: Pekka Enberg --- diff --git a/tools/kvm/bios/int10.c b/tools/kvm/bios/int10.c index 48abe10e1036..57647a134aac 100644 --- a/tools/kvm/bios/int10.c +++ b/tools/kvm/bios/int10.c @@ -20,14 +20,16 @@ struct int10_args { /* VESA General Information table */ struct vesa_general_info { - u32 signature; /* 0 Magic number = "VESA" */ - u16 version; /* 4 */ - void *vendor_string; /* 6 */ - u32 capabilities; /* 10 */ - void *video_mode_ptr; /* 14 */ - u16 total_memory; /* 18 */ - - u8 reserved[236]; /* 20 */ + u32 signature; /* 0 Magic number = "VESA" */ + u16 version; /* 4 */ + void *vendor_string; /* 6 */ + u32 capabilities; /* 10 */ + void *video_mode_ptr; /* 14 */ + u16 total_memory; /* 18 */ + u16 modes[2]; /* 20 */ + char oem_string[11]; /* 24 */ + + u8 reserved[223]; /* 35 */ } __attribute__ ((packed)); @@ -69,9 +71,6 @@ struct vminfo { u8 reserved[206]; /* 50 */ }; -char oemstring[11] = "KVM VESA"; -u16 modes[2] = { 0x0112, 0xffff }; - static inline void outb(unsigned short port, unsigned char val) { asm volatile("outb %0, %1" : : "a"(val), "Nd"(port)); @@ -104,10 +103,12 @@ static void int10_vesa(struct int10_args *args) *destination = (struct vesa_general_info) { .signature = VESA_MAGIC, .version = 0x102, - .vendor_string = oemstring, + .vendor_string = &destination->oem_string, .capabilities = 0x10, - .video_mode_ptr = modes, + .video_mode_ptr = &destination->modes, .total_memory = (4*VESA_WIDTH * VESA_HEIGHT) / 0x10000, + .oem_string = "KVM VESA", + .modes = { 0x0112, 0xffff }, }; break;