From 4790fa4b04600ecd05e3a96573edbd513abf4ea9 Mon Sep 17 00:00:00 2001 From: Diego Ongaro Date: Tue, 21 Apr 2009 17:25:07 -0500 Subject: [PATCH] adds kvm_get_phys_addr (hack) --- qemu/pc-bios/bios.bin | Bin 131072 -> 131072 bytes qemu/qemu-kvm.c | 12 ++++++++++++ 2 files changed, 12 insertions(+) diff --git a/qemu/pc-bios/bios.bin b/qemu/pc-bios/bios.bin index 9f8a49d17eb1930962031dc5c4f75d278cddce45..7169fd3e3c449831afab2347adf91463aee2d07a 100644 GIT binary patch delta 34623 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 delta 30941 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 + gpaddr = (unsigned long) cpu_get_phys_page_debug(vcpu->env, gvaddr); + if (gpaddr == -1) + return -1; + else + return gpaddr | (gvaddr & 0xFFF); +} + -- 2.11.4.GIT