public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2/2] qemu-kvm: extboot: Clean up host-guest interface
@ 2010-02-18 16:13 Jan Kiszka
  2010-02-18 20:28 ` Anthony Liguori
  0 siblings, 1 reply; 2+ messages in thread
From: Jan Kiszka @ 2010-02-18 16:13 UTC (permalink / raw)
  To: Avi Kivity, Marcelo Tosatti; +Cc: kvm, Anthony Liguori

Drop the unused boot mode port 0x404 from the host-guest interface of
extboot and remove related code from both sides.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 hw/extboot.c                |   14 +-------------
 hw/pc.c                     |    2 +-
 hw/pc.h                     |    2 +-
 pc-bios/optionrom/extboot.S |   23 -----------------------
 4 files changed, 3 insertions(+), 38 deletions(-)

diff --git a/hw/extboot.c b/hw/extboot.c
index b91d54f..8ada21b 100644
--- a/hw/extboot.c
+++ b/hw/extboot.c
@@ -65,12 +65,6 @@ static void get_translated_chs(BlockDriverState *bs, int *c, int *h, int *s)
     }
 }
 
-static uint32_t extboot_read(void *opaque, uint32_t addr)
-{
-    int *pcmd = opaque;
-    return *pcmd;
-}
-
 static void extboot_write_cmd(void *opaque, uint32_t addr, uint32_t value)
 {
     union extboot_cmd cmd;
@@ -123,13 +117,7 @@ static void extboot_write_cmd(void *opaque, uint32_t addr, uint32_t value)
         qemu_free(buf);
 }
 
-void extboot_init(BlockDriverState *bs, int cmd)
+void extboot_init(BlockDriverState *bs)
 {
-    int *pcmd;
-
-    pcmd = qemu_mallocz(sizeof(int));
-
-    *pcmd = cmd;
-    register_ioport_read(0x404, 1, 1, extboot_read, pcmd);
     register_ioport_write(0x405, 1, 2, extboot_write_cmd, bs);
 }
diff --git a/hw/pc.c b/hw/pc.c
index 97e16ce..8175874 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -1057,7 +1057,7 @@ static void pc_init1(ram_addr_t ram_size,
 	    bdrv_set_geometry_hint(info->bdrv, cyls, heads, secs);
 	}
 
-	extboot_init(info->bdrv, 1);
+	extboot_init(info->bdrv);
     }
 
 #ifdef CONFIG_KVM_DEVICE_ASSIGNMENT
diff --git a/hw/pc.h b/hw/pc.h
index b00f311..e9da683 100644
--- a/hw/pc.h
+++ b/hw/pc.h
@@ -165,7 +165,7 @@ void isa_ne2000_init(int base, int irq, NICInfo *nd);
 
 /* extboot.c */
 
-void extboot_init(BlockDriverState *bs, int cmd);
+void extboot_init(BlockDriverState *bs);
 
 int cpu_is_bsp(CPUState *env);
 
diff --git a/pc-bios/optionrom/extboot.S b/pc-bios/optionrom/extboot.S
index 1eeb172..db6c2b6 100644
--- a/pc-bios/optionrom/extboot.S
+++ b/pc-bios/optionrom/extboot.S
@@ -62,15 +62,6 @@ int19_handler:
 	xor %ax, %ax
 	mov %ax, %ds
 
-	movw $0x404, %dx
-	inb %dx, %al
-	cmp $1, %al
-	je 1f
-	cmp $2, %al
-	je 2f
-	jmp 3f
-
-1: /* hook int13: intb(0x404) == 1 */
 	/* save old int 13 to int 2c */
 	mov (0x13*4), %eax
 	mov %eax, (OLD_INT13)
@@ -78,21 +69,7 @@ int19_handler:
 	/* install our int 13 handler */
 	movw $int13_handler, (0x13*4)
 	mov %cs, (0x13*4+2)
-	jmp 3f
 
-2: /* linux boot: intb(0x404) == 2 */
-	cli
-	cld
-	mov $0x9000, %ax
-	mov %ax, %ds
-	mov %ax, %es
-	mov %ax, %fs
-	mov %ax, %gs
-	mov %ax, %ss
-	mov $0x8ffe, %sp
-	ljmp $0x9000 + 0x20, $0
-
-3: /* fall through: inb(0x404) == 0 */
 	/* restore previous int $0x19 handler */
 	mov (OLD_INT19),%eax
 	mov %eax,(0x19*4)

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH 2/2] qemu-kvm: extboot: Clean up host-guest interface
  2010-02-18 16:13 [PATCH 2/2] qemu-kvm: extboot: Clean up host-guest interface Jan Kiszka
@ 2010-02-18 20:28 ` Anthony Liguori
  0 siblings, 0 replies; 2+ messages in thread
From: Anthony Liguori @ 2010-02-18 20:28 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: Avi Kivity, Marcelo Tosatti, kvm, Anthony Liguori

On 02/18/2010 10:13 AM, Jan Kiszka wrote:
> Drop the unused boot mode port 0x404 from the host-guest interface of
> extboot and remove related code from both sides.
>
> Signed-off-by: Jan Kiszka<jan.kiszka@siemens.com>
>    

Makes sense.

Acked-by: Anthony Liguori <aliguori@us.ibm.com>

> ---
>   hw/extboot.c                |   14 +-------------
>   hw/pc.c                     |    2 +-
>   hw/pc.h                     |    2 +-
>   pc-bios/optionrom/extboot.S |   23 -----------------------
>   4 files changed, 3 insertions(+), 38 deletions(-)
>
> diff --git a/hw/extboot.c b/hw/extboot.c
> index b91d54f..8ada21b 100644
> --- a/hw/extboot.c
> +++ b/hw/extboot.c
> @@ -65,12 +65,6 @@ static void get_translated_chs(BlockDriverState *bs, int *c, int *h, int *s)
>       }
>   }
>
> -static uint32_t extboot_read(void *opaque, uint32_t addr)
> -{
> -    int *pcmd = opaque;
> -    return *pcmd;
> -}
> -
>   static void extboot_write_cmd(void *opaque, uint32_t addr, uint32_t value)
>   {
>       union extboot_cmd cmd;
> @@ -123,13 +117,7 @@ static void extboot_write_cmd(void *opaque, uint32_t addr, uint32_t value)
>           qemu_free(buf);
>   }
>
> -void extboot_init(BlockDriverState *bs, int cmd)
> +void extboot_init(BlockDriverState *bs)
>   {
> -    int *pcmd;
> -
> -    pcmd = qemu_mallocz(sizeof(int));
> -
> -    *pcmd = cmd;
> -    register_ioport_read(0x404, 1, 1, extboot_read, pcmd);
>       register_ioport_write(0x405, 1, 2, extboot_write_cmd, bs);
>   }
> diff --git a/hw/pc.c b/hw/pc.c
> index 97e16ce..8175874 100644
> --- a/hw/pc.c
> +++ b/hw/pc.c
> @@ -1057,7 +1057,7 @@ static void pc_init1(ram_addr_t ram_size,
>   	    bdrv_set_geometry_hint(info->bdrv, cyls, heads, secs);
>   	}
>
> -	extboot_init(info->bdrv, 1);
> +	extboot_init(info->bdrv);
>       }
>
>   #ifdef CONFIG_KVM_DEVICE_ASSIGNMENT
> diff --git a/hw/pc.h b/hw/pc.h
> index b00f311..e9da683 100644
> --- a/hw/pc.h
> +++ b/hw/pc.h
> @@ -165,7 +165,7 @@ void isa_ne2000_init(int base, int irq, NICInfo *nd);
>
>   /* extboot.c */
>
> -void extboot_init(BlockDriverState *bs, int cmd);
> +void extboot_init(BlockDriverState *bs);
>
>   int cpu_is_bsp(CPUState *env);
>
> diff --git a/pc-bios/optionrom/extboot.S b/pc-bios/optionrom/extboot.S
> index 1eeb172..db6c2b6 100644
> --- a/pc-bios/optionrom/extboot.S
> +++ b/pc-bios/optionrom/extboot.S
> @@ -62,15 +62,6 @@ int19_handler:
>   	xor %ax, %ax
>   	mov %ax, %ds
>
> -	movw $0x404, %dx
> -	inb %dx, %al
> -	cmp $1, %al
> -	je 1f
> -	cmp $2, %al
> -	je 2f
> -	jmp 3f
> -
> -1: /* hook int13: intb(0x404) == 1 */
>   	/* save old int 13 to int 2c */
>   	mov (0x13*4), %eax
>   	mov %eax, (OLD_INT13)
> @@ -78,21 +69,7 @@ int19_handler:
>   	/* install our int 13 handler */
>   	movw $int13_handler, (0x13*4)
>   	mov %cs, (0x13*4+2)
> -	jmp 3f
>
> -2: /* linux boot: intb(0x404) == 2 */
> -	cli
> -	cld
> -	mov $0x9000, %ax
> -	mov %ax, %ds
> -	mov %ax, %es
> -	mov %ax, %fs
> -	mov %ax, %gs
> -	mov %ax, %ss
> -	mov $0x8ffe, %sp
> -	ljmp $0x9000 + 0x20, $0
> -
> -3: /* fall through: inb(0x404) == 0 */
>   	/* restore previous int $0x19 handler */
>   	mov (OLD_INT19),%eax
>   	mov %eax,(0x19*4)
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>    


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-02-18 20:28 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-18 16:13 [PATCH 2/2] qemu-kvm: extboot: Clean up host-guest interface Jan Kiszka
2010-02-18 20:28 ` Anthony Liguori

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox