* [PATCH 00/04] Enable qemu-kvm for ia64. @ 2009-04-28 9:29 ` Zhang, Xiantao 0 siblings, 0 replies; 8+ messages in thread From: Zhang, Xiantao @ 2009-04-28 9:29 UTC (permalink / raw) To: kvm-ia64 Patches for enabing qemu-kvm for ia64. [PATCH 01/04] qemu-kvm: Set default configure option for ia64. [PATCH 02/04] qemu-kvm: Add header files for ia64. [PATCH 03/04] qemu-kvm: Remove the dependency for phys_ram_base for ipf.c [PATCH 04/04] qemu-kvm: other archs should maintain memory mapping also. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 00/04] Enable qemu-kvm for ia64. @ 2009-04-28 9:29 ` Zhang, Xiantao 0 siblings, 0 replies; 8+ messages in thread From: Zhang, Xiantao @ 2009-04-28 9:29 UTC (permalink / raw) To: Avi Kivity, kvm-ia64@vger.kernel.org; +Cc: kvm@vger.kernel.org Patches for enabing qemu-kvm for ia64. [PATCH 01/04] qemu-kvm: Set default configure option for ia64. [PATCH 02/04] qemu-kvm: Add header files for ia64. [PATCH 03/04] qemu-kvm: Remove the dependency for phys_ram_base for ipf.c [PATCH 04/04] qemu-kvm: other archs should maintain memory mapping also. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 00/04] Enable qemu-kvm for ia64. 2009-04-28 9:29 ` Zhang, Xiantao @ 2009-04-28 9:39 ` Avi Kivity -1 siblings, 0 replies; 8+ messages in thread From: Avi Kivity @ 2009-04-28 9:39 UTC (permalink / raw) To: kvm-ia64 Zhang, Xiantao wrote: > Patches for enabing qemu-kvm for ia64. > > [PATCH 01/04] qemu-kvm: Set default configure option for ia64. > [PATCH 02/04] qemu-kvm: Add header files for ia64. > [PATCH 03/04] qemu-kvm: Remove the dependency for phys_ram_base for ipf.c > [PATCH 04/04] qemu-kvm: other archs should maintain memory mapping also. > > Patch 3/4 got lost in transit, please resend. -- Do not meddle in the internals of kernels, for they are subtle and quick to panic. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 00/04] Enable qemu-kvm for ia64. @ 2009-04-28 9:39 ` Avi Kivity 0 siblings, 0 replies; 8+ messages in thread From: Avi Kivity @ 2009-04-28 9:39 UTC (permalink / raw) To: Zhang, Xiantao; +Cc: kvm-ia64@vger.kernel.org, kvm@vger.kernel.org Zhang, Xiantao wrote: > Patches for enabing qemu-kvm for ia64. > > [PATCH 01/04] qemu-kvm: Set default configure option for ia64. > [PATCH 02/04] qemu-kvm: Add header files for ia64. > [PATCH 03/04] qemu-kvm: Remove the dependency for phys_ram_base for ipf.c > [PATCH 04/04] qemu-kvm: other archs should maintain memory mapping also. > > Patch 3/4 got lost in transit, please resend. -- Do not meddle in the internals of kernels, for they are subtle and quick to panic. ^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [PATCH 00/04] Enable qemu-kvm for ia64. 2009-04-28 9:39 ` Avi Kivity @ 2009-04-28 9:41 ` Zhang, Xiantao -1 siblings, 0 replies; 8+ messages in thread From: Zhang, Xiantao @ 2009-04-28 9:41 UTC (permalink / raw) To: kvm-ia64 [-- Attachment #1: Type: text/plain, Size: 747 bytes --] Attached. -----Original Message----- From: Avi Kivity [mailto:avi@redhat.com] Sent: Tuesday, April 28, 2009 5:40 PM To: Zhang, Xiantao Cc: kvm-ia64@vger.kernel.org; kvm@vger.kernel.org Subject: Re: [PATCH 00/04] Enable qemu-kvm for ia64. Zhang, Xiantao wrote: > Patches for enabing qemu-kvm for ia64. > > [PATCH 01/04] qemu-kvm: Set default configure option for ia64. > [PATCH 02/04] qemu-kvm: Add header files for ia64. > [PATCH 03/04] qemu-kvm: Remove the dependency for phys_ram_base for ipf.c > [PATCH 04/04] qemu-kvm: other archs should maintain memory mapping also. > > Patch 3/4 got lost in transit, please resend. -- Do not meddle in the internals of kernels, for they are subtle and quick to panic. [-- Attachment #2: 0003-qemu-kvm-Remove-the-dependency-for-phys_ram_base-fo.patch --] [-- Type: application/octet-stream, Size: 8201 bytes --] From aaf97331da3d6cd34522441218c8c9ab3c1067f6 Mon Sep 17 00:00:00 2001 From: Xiantao Zhang <xiantao.zhang@intel.com> Date: Tue, 28 Apr 2009 16:55:47 +0800 Subject: [PATCH] qemu-kvm: Remove the dependency for phys_ram_base for ipf.c Upstream has dropped phys_ram_base, so ia64 also remove the dependency for that. Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com> --- hw/ipf.c | 42 +++++++++++++++++++----------------------- target-ia64/firmware.c | 25 +++++++++++++++++-------- target-ia64/firmware.h | 6 +++--- 3 files changed, 39 insertions(+), 34 deletions(-) diff --git a/hw/ipf.c b/hw/ipf.c index 5ed2667..ccd7665 100644 --- a/hw/ipf.c +++ b/hw/ipf.c @@ -54,7 +54,8 @@ static fdctrl_t *floppy_controller; static RTCState *rtc_state; static PCIDevice *i440fx_state; -uint8_t *g_fw_start; +ram_addr_t gfw_start; + static uint32_t ipf_to_legacy_io(target_phys_addr_t addr) { return (uint32_t)(((addr&0x3ffffff) >> 12 << 2)|((addr) & 0x3)); @@ -454,15 +455,15 @@ static void ipf_init1(ram_addr_t ram_size, int vga_ram_size, if (kvm_enabled()) { unsigned long image_size; char *image = NULL; - uint8_t *fw_image_start; + ram_addr_t fw_image_start; unsigned long nvram_addr = 0; unsigned long nvram_fd = 0; unsigned long type = READ_FROM_NVRAM; unsigned long i = 0; - ram_addr_t fw_offset = qemu_ram_alloc(GFW_SIZE); - uint8_t *fw_start = phys_ram_base + fw_offset; - g_fw_start = fw_start; + ram_addr = qemu_ram_alloc(GFW_SIZE); + gfw_start = (ram_addr_t)qemu_get_ram_ptr(ram_addr); + snprintf(buf, sizeof(buf), "%s/%s", bios_dir, FW_FILENAME); image = read_image(buf, &image_size ); if (NULL == image || !image_size) { @@ -470,20 +471,20 @@ static void ipf_init1(ram_addr_t ram_size, int vga_ram_size, fprintf(stderr, "Please check Guest firmware at %s\n", buf); exit(1); } - fw_image_start = fw_start + GFW_SIZE - image_size; - - cpu_register_physical_memory(GFW_START, GFW_SIZE, fw_offset); - memcpy(fw_image_start, image, image_size); - - free(image); + /* Load Guest Firmware to the proper postion. */ + fw_image_start = gfw_start + GFW_SIZE - image_size; + memcpy((void *)fw_image_start, image, image_size); flush_icache_range((unsigned long)fw_image_start, (unsigned long)fw_image_start + image_size); + free(image); + + cpu_register_physical_memory(GFW_START, GFW_SIZE, ram_addr); - nvram_addr = NVRAM_START; if (nvram) { + nvram_addr = NVRAM_START; nvram_fd = kvm_ia64_nvram_init(type); if (nvram_fd != -1) { - kvm_ia64_copy_from_nvram_to_GFW(nvram_fd, g_fw_start); + kvm_ia64_copy_from_nvram_to_GFW(nvram_fd, gfw_start); close(nvram_fd); } i = atexit((void *)kvm_ia64_copy_from_GFW_to_nvram); @@ -491,7 +492,7 @@ static void ipf_init1(ram_addr_t ram_size, int vga_ram_size, fprintf(stderr, "cannot set exit function\n"); } kvm_ia64_build_hob(ram_size + above_4g_mem_size, smp_cpus, - fw_start, nvram_addr); + gfw_start, nvram_addr); } /*Register legacy io address space, size:64M*/ @@ -513,19 +514,15 @@ static void ipf_init1(ram_addr_t ram_size, int vga_ram_size, if (cirrus_vga_enabled) { if (pci_enabled) { - pci_cirrus_vga_init(pci_bus, phys_ram_base + vga_ram_addr, - vga_ram_addr, vga_ram_size); + pci_cirrus_vga_init(pci_bus, vga_ram_size); } else { - isa_cirrus_vga_init(phys_ram_base + vga_ram_addr, - vga_ram_addr, vga_ram_size); + isa_cirrus_vga_init(vga_ram_size); } } else { if (pci_enabled) { - pci_vga_init(pci_bus, phys_ram_base + vga_ram_addr, - vga_ram_addr, vga_ram_size, 0, 0); + pci_vga_init(pci_bus, vga_ram_size, 0, 0); } else { - isa_vga_init(phys_ram_base + vga_ram_addr, - vga_ram_addr, vga_ram_size); + isa_vga_init(vga_ram_size); } } @@ -671,7 +668,6 @@ QEMUMachine ipf_machine = { .name = "itanium", .desc = "Itanium Platform", .init = (QEMUMachineInitFunc *)ipf_init_pci, - .ram_require = (ram_addr_t)(VGA_RAM_SIZE + GFW_SIZE), .max_cpus = 255, }; diff --git a/target-ia64/firmware.c b/target-ia64/firmware.c index 87a8178..2ed2e0d 100644 --- a/target-ia64/firmware.c +++ b/target-ia64/firmware.c @@ -92,11 +92,11 @@ static int build_hob(void *hob_buf, unsigned long hob_buf_size, unsigned long dom_mem_size, unsigned long vcpus, unsigned long nvram_addr); static int load_hob(void *hob_buf, - unsigned long dom_mem_size, void* hob_start); + unsigned long dom_mem_size, ram_addr_t hob_start); int kvm_ia64_build_hob(unsigned long memsize, unsigned long vcpus, - uint8_t *fw_start, unsigned long nvram_addr) + ram_addr_t fw_start, unsigned long nvram_addr) { char *hob_buf; @@ -249,7 +249,7 @@ err_out: return -1; } static int -load_hob(void *hob_buf, unsigned long dom_mem_size, void* hob_start) +load_hob(void *hob_buf, unsigned long dom_mem_size, ram_addr_t hob_start) { int hob_size; @@ -263,7 +263,7 @@ load_hob(void *hob_buf, unsigned long dom_mem_size, void* hob_start) Hob_Output("No enough memory for hob data"); return -1; } - memcpy (hob_start, hob_buf, hob_size); + memcpy ((void *)hob_start, hob_buf, hob_size); return 0; } @@ -644,7 +644,7 @@ out: int kvm_ia64_copy_from_nvram_to_GFW(unsigned long nvram_fd, - const uint8_t *fw_start) + const ram_addr_t fw_start) { struct stat file_stat; if ((fstat(nvram_fd, &file_stat) < 0) || @@ -659,8 +659,13 @@ int kvm_ia64_copy_from_GFW_to_nvram() { unsigned long nvram_fd; + void* real_nvram_start; + target_phys_addr_t nvram_size = NVRAM_SIZE; unsigned long type = WRITE_TO_NVRAM; - unsigned long *nvram_addr = (unsigned long *)(g_fw_start + NVRAM_OFFSET); + unsigned long *nvram_addr = (unsigned long *)(gfw_start + NVRAM_OFFSET); + + + nvram_fd = kvm_ia64_nvram_init(type); if (nvram_fd == -1) goto out; @@ -669,11 +674,15 @@ kvm_ia64_copy_from_GFW_to_nvram() goto out; } lseek(nvram_fd, 0, SEEK_SET); - if (write(nvram_fd, ((void *)(((struct nvram_save_addr *)nvram_addr)->addr + - (char *)phys_ram_base)), NVRAM_SIZE) != NVRAM_SIZE) { + + real_nvram_start = cpu_physical_memory_map(((struct nvram_save_addr*)nvram_addr)->addr, + &nvram_size, 1); + if (write(nvram_fd, real_nvram_start, NVRAM_SIZE) != NVRAM_SIZE) { close(nvram_fd); goto out; } + cpu_physical_memory_unmap(real_nvram_start, NVRAM_SIZE, 1, NVRAM_SIZE); + close(nvram_fd); return 0; out: diff --git a/target-ia64/firmware.h b/target-ia64/firmware.h index c1707ac..548352c 100644 --- a/target-ia64/firmware.h +++ b/target-ia64/firmware.h @@ -52,13 +52,13 @@ struct nvram_save_addr { }; extern const char *nvram; -extern uint8_t *g_fw_start; +extern ram_addr_t gfw_start; extern int kvm_ia64_build_hob(unsigned long memsize, unsigned long vcpus, - uint8_t *fw_start, unsigned long nvram_addr); + ram_addr_t fw_start, unsigned long nvram_addr); extern char *read_image(const char *filename, unsigned long *size); extern int kvm_ia64_copy_from_GFW_to_nvram(void); extern int kvm_ia64_nvram_init(unsigned long type); extern int kvm_ia64_copy_from_nvram_to_GFW(unsigned long nvram_fd, - const uint8_t *fw_start); + const ram_addr_t fw_start); #endif //__FIRM_WARE_ -- 1.6.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* RE: [PATCH 00/04] Enable qemu-kvm for ia64. @ 2009-04-28 9:41 ` Zhang, Xiantao 0 siblings, 0 replies; 8+ messages in thread From: Zhang, Xiantao @ 2009-04-28 9:41 UTC (permalink / raw) To: Avi Kivity; +Cc: kvm-ia64@vger.kernel.org, kvm@vger.kernel.org [-- Attachment #1: Type: text/plain, Size: 747 bytes --] Attached. -----Original Message----- From: Avi Kivity [mailto:avi@redhat.com] Sent: Tuesday, April 28, 2009 5:40 PM To: Zhang, Xiantao Cc: kvm-ia64@vger.kernel.org; kvm@vger.kernel.org Subject: Re: [PATCH 00/04] Enable qemu-kvm for ia64. Zhang, Xiantao wrote: > Patches for enabing qemu-kvm for ia64. > > [PATCH 01/04] qemu-kvm: Set default configure option for ia64. > [PATCH 02/04] qemu-kvm: Add header files for ia64. > [PATCH 03/04] qemu-kvm: Remove the dependency for phys_ram_base for ipf.c > [PATCH 04/04] qemu-kvm: other archs should maintain memory mapping also. > > Patch 3/4 got lost in transit, please resend. -- Do not meddle in the internals of kernels, for they are subtle and quick to panic. [-- Attachment #2: 0003-qemu-kvm-Remove-the-dependency-for-phys_ram_base-fo.patch --] [-- Type: application/octet-stream, Size: 8201 bytes --] From aaf97331da3d6cd34522441218c8c9ab3c1067f6 Mon Sep 17 00:00:00 2001 From: Xiantao Zhang <xiantao.zhang@intel.com> Date: Tue, 28 Apr 2009 16:55:47 +0800 Subject: [PATCH] qemu-kvm: Remove the dependency for phys_ram_base for ipf.c Upstream has dropped phys_ram_base, so ia64 also remove the dependency for that. Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com> --- hw/ipf.c | 42 +++++++++++++++++++----------------------- target-ia64/firmware.c | 25 +++++++++++++++++-------- target-ia64/firmware.h | 6 +++--- 3 files changed, 39 insertions(+), 34 deletions(-) diff --git a/hw/ipf.c b/hw/ipf.c index 5ed2667..ccd7665 100644 --- a/hw/ipf.c +++ b/hw/ipf.c @@ -54,7 +54,8 @@ static fdctrl_t *floppy_controller; static RTCState *rtc_state; static PCIDevice *i440fx_state; -uint8_t *g_fw_start; +ram_addr_t gfw_start; + static uint32_t ipf_to_legacy_io(target_phys_addr_t addr) { return (uint32_t)(((addr&0x3ffffff) >> 12 << 2)|((addr) & 0x3)); @@ -454,15 +455,15 @@ static void ipf_init1(ram_addr_t ram_size, int vga_ram_size, if (kvm_enabled()) { unsigned long image_size; char *image = NULL; - uint8_t *fw_image_start; + ram_addr_t fw_image_start; unsigned long nvram_addr = 0; unsigned long nvram_fd = 0; unsigned long type = READ_FROM_NVRAM; unsigned long i = 0; - ram_addr_t fw_offset = qemu_ram_alloc(GFW_SIZE); - uint8_t *fw_start = phys_ram_base + fw_offset; - g_fw_start = fw_start; + ram_addr = qemu_ram_alloc(GFW_SIZE); + gfw_start = (ram_addr_t)qemu_get_ram_ptr(ram_addr); + snprintf(buf, sizeof(buf), "%s/%s", bios_dir, FW_FILENAME); image = read_image(buf, &image_size ); if (NULL == image || !image_size) { @@ -470,20 +471,20 @@ static void ipf_init1(ram_addr_t ram_size, int vga_ram_size, fprintf(stderr, "Please check Guest firmware at %s\n", buf); exit(1); } - fw_image_start = fw_start + GFW_SIZE - image_size; - - cpu_register_physical_memory(GFW_START, GFW_SIZE, fw_offset); - memcpy(fw_image_start, image, image_size); - - free(image); + /* Load Guest Firmware to the proper postion. */ + fw_image_start = gfw_start + GFW_SIZE - image_size; + memcpy((void *)fw_image_start, image, image_size); flush_icache_range((unsigned long)fw_image_start, (unsigned long)fw_image_start + image_size); + free(image); + + cpu_register_physical_memory(GFW_START, GFW_SIZE, ram_addr); - nvram_addr = NVRAM_START; if (nvram) { + nvram_addr = NVRAM_START; nvram_fd = kvm_ia64_nvram_init(type); if (nvram_fd != -1) { - kvm_ia64_copy_from_nvram_to_GFW(nvram_fd, g_fw_start); + kvm_ia64_copy_from_nvram_to_GFW(nvram_fd, gfw_start); close(nvram_fd); } i = atexit((void *)kvm_ia64_copy_from_GFW_to_nvram); @@ -491,7 +492,7 @@ static void ipf_init1(ram_addr_t ram_size, int vga_ram_size, fprintf(stderr, "cannot set exit function\n"); } kvm_ia64_build_hob(ram_size + above_4g_mem_size, smp_cpus, - fw_start, nvram_addr); + gfw_start, nvram_addr); } /*Register legacy io address space, size:64M*/ @@ -513,19 +514,15 @@ static void ipf_init1(ram_addr_t ram_size, int vga_ram_size, if (cirrus_vga_enabled) { if (pci_enabled) { - pci_cirrus_vga_init(pci_bus, phys_ram_base + vga_ram_addr, - vga_ram_addr, vga_ram_size); + pci_cirrus_vga_init(pci_bus, vga_ram_size); } else { - isa_cirrus_vga_init(phys_ram_base + vga_ram_addr, - vga_ram_addr, vga_ram_size); + isa_cirrus_vga_init(vga_ram_size); } } else { if (pci_enabled) { - pci_vga_init(pci_bus, phys_ram_base + vga_ram_addr, - vga_ram_addr, vga_ram_size, 0, 0); + pci_vga_init(pci_bus, vga_ram_size, 0, 0); } else { - isa_vga_init(phys_ram_base + vga_ram_addr, - vga_ram_addr, vga_ram_size); + isa_vga_init(vga_ram_size); } } @@ -671,7 +668,6 @@ QEMUMachine ipf_machine = { .name = "itanium", .desc = "Itanium Platform", .init = (QEMUMachineInitFunc *)ipf_init_pci, - .ram_require = (ram_addr_t)(VGA_RAM_SIZE + GFW_SIZE), .max_cpus = 255, }; diff --git a/target-ia64/firmware.c b/target-ia64/firmware.c index 87a8178..2ed2e0d 100644 --- a/target-ia64/firmware.c +++ b/target-ia64/firmware.c @@ -92,11 +92,11 @@ static int build_hob(void *hob_buf, unsigned long hob_buf_size, unsigned long dom_mem_size, unsigned long vcpus, unsigned long nvram_addr); static int load_hob(void *hob_buf, - unsigned long dom_mem_size, void* hob_start); + unsigned long dom_mem_size, ram_addr_t hob_start); int kvm_ia64_build_hob(unsigned long memsize, unsigned long vcpus, - uint8_t *fw_start, unsigned long nvram_addr) + ram_addr_t fw_start, unsigned long nvram_addr) { char *hob_buf; @@ -249,7 +249,7 @@ err_out: return -1; } static int -load_hob(void *hob_buf, unsigned long dom_mem_size, void* hob_start) +load_hob(void *hob_buf, unsigned long dom_mem_size, ram_addr_t hob_start) { int hob_size; @@ -263,7 +263,7 @@ load_hob(void *hob_buf, unsigned long dom_mem_size, void* hob_start) Hob_Output("No enough memory for hob data"); return -1; } - memcpy (hob_start, hob_buf, hob_size); + memcpy ((void *)hob_start, hob_buf, hob_size); return 0; } @@ -644,7 +644,7 @@ out: int kvm_ia64_copy_from_nvram_to_GFW(unsigned long nvram_fd, - const uint8_t *fw_start) + const ram_addr_t fw_start) { struct stat file_stat; if ((fstat(nvram_fd, &file_stat) < 0) || @@ -659,8 +659,13 @@ int kvm_ia64_copy_from_GFW_to_nvram() { unsigned long nvram_fd; + void* real_nvram_start; + target_phys_addr_t nvram_size = NVRAM_SIZE; unsigned long type = WRITE_TO_NVRAM; - unsigned long *nvram_addr = (unsigned long *)(g_fw_start + NVRAM_OFFSET); + unsigned long *nvram_addr = (unsigned long *)(gfw_start + NVRAM_OFFSET); + + + nvram_fd = kvm_ia64_nvram_init(type); if (nvram_fd == -1) goto out; @@ -669,11 +674,15 @@ kvm_ia64_copy_from_GFW_to_nvram() goto out; } lseek(nvram_fd, 0, SEEK_SET); - if (write(nvram_fd, ((void *)(((struct nvram_save_addr *)nvram_addr)->addr + - (char *)phys_ram_base)), NVRAM_SIZE) != NVRAM_SIZE) { + + real_nvram_start = cpu_physical_memory_map(((struct nvram_save_addr*)nvram_addr)->addr, + &nvram_size, 1); + if (write(nvram_fd, real_nvram_start, NVRAM_SIZE) != NVRAM_SIZE) { close(nvram_fd); goto out; } + cpu_physical_memory_unmap(real_nvram_start, NVRAM_SIZE, 1, NVRAM_SIZE); + close(nvram_fd); return 0; out: diff --git a/target-ia64/firmware.h b/target-ia64/firmware.h index c1707ac..548352c 100644 --- a/target-ia64/firmware.h +++ b/target-ia64/firmware.h @@ -52,13 +52,13 @@ struct nvram_save_addr { }; extern const char *nvram; -extern uint8_t *g_fw_start; +extern ram_addr_t gfw_start; extern int kvm_ia64_build_hob(unsigned long memsize, unsigned long vcpus, - uint8_t *fw_start, unsigned long nvram_addr); + ram_addr_t fw_start, unsigned long nvram_addr); extern char *read_image(const char *filename, unsigned long *size); extern int kvm_ia64_copy_from_GFW_to_nvram(void); extern int kvm_ia64_nvram_init(unsigned long type); extern int kvm_ia64_copy_from_nvram_to_GFW(unsigned long nvram_fd, - const uint8_t *fw_start); + const ram_addr_t fw_start); #endif //__FIRM_WARE_ -- 1.6.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 00/04] Enable qemu-kvm for ia64. 2009-04-28 9:29 ` Zhang, Xiantao @ 2009-04-28 9:50 ` Avi Kivity -1 siblings, 0 replies; 8+ messages in thread From: Avi Kivity @ 2009-04-28 9:50 UTC (permalink / raw) To: kvm-ia64 Zhang, Xiantao wrote: > Patches for enabing qemu-kvm for ia64. > > [PATCH 01/04] qemu-kvm: Set default configure option for ia64. > [PATCH 02/04] qemu-kvm: Add header files for ia64. > Applied 1 and 2. -- Do not meddle in the internals of kernels, for they are subtle and quick to panic. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 00/04] Enable qemu-kvm for ia64. @ 2009-04-28 9:50 ` Avi Kivity 0 siblings, 0 replies; 8+ messages in thread From: Avi Kivity @ 2009-04-28 9:50 UTC (permalink / raw) To: Zhang, Xiantao; +Cc: kvm-ia64@vger.kernel.org, kvm@vger.kernel.org Zhang, Xiantao wrote: > Patches for enabing qemu-kvm for ia64. > > [PATCH 01/04] qemu-kvm: Set default configure option for ia64. > [PATCH 02/04] qemu-kvm: Add header files for ia64. > Applied 1 and 2. -- Do not meddle in the internals of kernels, for they are subtle and quick to panic. ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2009-04-28 9:50 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-04-28 9:29 [PATCH 00/04] Enable qemu-kvm for ia64 Zhang, Xiantao 2009-04-28 9:29 ` Zhang, Xiantao 2009-04-28 9:39 ` Avi Kivity 2009-04-28 9:39 ` Avi Kivity 2009-04-28 9:41 ` Zhang, Xiantao 2009-04-28 9:41 ` Zhang, Xiantao 2009-04-28 9:50 ` Avi Kivity 2009-04-28 9:50 ` Avi Kivity
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.