Re: [kvm-devel] [RFC] KVM Source layout Proposal to accommodate new CPU architecture

2007-10-02 Thread Hollis Blanchard
On Tue, 2007-10-02 at 14:11 +1000, Rusty Russell wrote:
 On Tue, 2007-10-02 at 01:19 +, Hollis Blanchard wrote:
  On Sun, 30 Sep 2007 15:56:16 +0200, Avi Kivity wrote:
   
   Eventually I'd like to see the code in arch/*/kvm.  That's probably not 
   easily doable right now because modules cannot span directories, but 
   once that's solved, we'll do that as this is most consistent with the 
   rest of the kernel.
  
  What is the spanning directories issue? Can't I build
  arch/powerpc/kvm/kvm-powerpc.ko and drivers/kvm/kvm.ko and let modprobe
  sort out the dependency?
 
 Sure, but it creates a silly module.

Isn't there precedent in other areas? What about cpufreq or ALSA? (I'm
really asking; don't have time to investigate further right now.)

 I think guest code belongs in arch/*/kvm/, but host code can be done as
 subdirs under drivers/kvm/.

Funny, I would say the opposite. The host code is where I'm mucking with
deep architectural state like stealing the TLB out from under Linux. The
guest state is all what would a processor like this do?

-- 
Hollis Blanchard
IBM Linux Technology Center


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH] Correct management of REP prefix

2007-10-02 Thread Avi Kivity
Laurent Vivier wrote:
 This patch corrects some errors appearing when we have an emulation failure
 on an operation using REP prefix.

 When x86_emulate_insn() fails, saving EIP and ECX is not enough as emulation
 should have modified other registers like RSI or RDI. Moreover, the emulation
 can fail on the writeback, and in this case we are not able to restore
 registers.

 At beginning of x86_emulate_insn(), we restore registers from vcpu as they 
 were
 not modified by x86d_decode_insn() and we save EIP to be able to restore it
 in case of failure.

   


Applied, thanks.

-- 
Any sufficiently difficult bug is indistinguishable from a feature.


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH] Correct management of REP prefix

2007-10-02 Thread Avi Kivity
Laurent Vivier wrote:
 Avi Kivity wrote:
   
 Laurent Vivier wrote:
 
 This patch corrects some errors appearing when we have an emulation
 failure
 on an operation using REP prefix.

 When x86_emulate_insn() fails, saving EIP and ECX is not enough as
 emulation
 should have modified other registers like RSI or RDI. Moreover, the
 emulation
 can fail on the writeback, and in this case we are not able to restore
 registers.

 This patch takes another approach: at the beginning of
 x86_emulate_insn() we restore state we have at end of
 x86_decode_insn(). To do that, we store EIP in
 a new field in decode_cache, decode_eip. This field store the EIP as
 it is at
 the end of x86_decode_insn(); and at beginning of x86_emulate_insn(),
 we restore
 all registers as they are in vcpu. We can do that, because the
 x86_decode_insn()
 doesn't modify registers (except EIP).
   
   
 How about doing it slightly differently: keep c-eip at its current
 meaning, and add c-eip_orig to revert to? That will make the patch
 smaller and reduce the changes of something being missed.
 

 I didn't do like that because I was afraid to miss some points to restore 
 orig_eip.
   


This could be done using something like

emulate(ctxt)
{
decode_cache save = ctxt-decode_cache;

r = __emulate(ctxt);
if (r != success)
ctxt-decode_cache = save;
return r;
}

or in some similar way.

-- 
Any sufficiently difficult bug is indistinguishable from a feature.


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [RFC] KVM Source layout Proposal to accommodate new CPU architecture

2007-10-02 Thread Rusty Russell
On Tue, 2007-10-02 at 01:01 -0500, Hollis Blanchard wrote:
 On Tue, 2007-10-02 at 14:11 +1000, Rusty Russell wrote:
  On Tue, 2007-10-02 at 01:19 +, Hollis Blanchard wrote:
   On Sun, 30 Sep 2007 15:56:16 +0200, Avi Kivity wrote:

Eventually I'd like to see the code in arch/*/kvm.  That's probably not 
easily doable right now because modules cannot span directories, but 
once that's solved, we'll do that as this is most consistent with the 
rest of the kernel.
   
   What is the spanning directories issue? Can't I build
   arch/powerpc/kvm/kvm-powerpc.ko and drivers/kvm/kvm.ko and let modprobe
   sort out the dependency?
  
  Sure, but it creates a silly module.
 
 Isn't there precedent in other areas? What about cpufreq or ALSA? (I'm
 really asking; don't have time to investigate further right now.)

Hmm, cpufreq does do something like this, so I guess it's a fair call.

  I think guest code belongs in arch/*/kvm/, but host code can be done as
  subdirs under drivers/kvm/.
 
 Funny, I would say the opposite. The host code is where I'm mucking with
 deep architectural state like stealing the TLB out from under Linux. The
 guest state is all what would a processor like this do?

From my POV all platforms belong in arch/*/, and KVM just presents
another platform.  But the implementation of KVM is as much kvm-specific
as arch-specific, so I can argue over that one.

Whatever way we go, grouping both host and guest support in the same dir
seems confusing (which is why lguest is moving to arch/i386/lguest/ for
guest and drivers/lguest/i386/ for host).

Cheers,
Rusty.



-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] What happens on an INT80 instruction

2007-10-02 Thread Jun Koi
On 10/2/07, Cam Macdonell [EMAIL PROTECTED] wrote:
 Anthony Liguori wrote:
  Cam Macdonell wrote:
  Anthony Liguori wrote:
  Cameron Macdonell wrote:
  Hi,
 
  I'm trying to understand guest virtualization at the lower levels.
  I  have a somewhat basic question:  How does KVM virtualize an
  int80  instruction from a guest?  A pointer to an answer is just as
  good as  an answer itself.
 
 
  The same thing happens as it does on normal hardware.
 
  The way VT/SVM works (at a high level), is that certain instructions
  and events check a special area called the VMCS/VMCB to determine
  whether the event should generate a vmexit which is really just a
  special type of trap.
 
 
  Thanks Anthony.  Does an int80 from an application in the guest always
  cause a vmexit (in kvm's case at least)?
 
  No, an int80 would never generate a trap in KVM.  The only way to make
  it generate a trap is for an int80 to trigger some other event that
  would generate a trap.  This is what I meant by taking over the guest's
  IDT such that you could change the int80 handler to do a hypercall.
 
  I presume you're looking into doing a guest IDS right?
 

 Actually, I looking into doing a PhD dissertation :)  I'm just trying to
 get a better working understanding of how kvm (and other VMMs) handle
 instructions like int80 that should trap into the OS, but of course in a
 VM need to trap into the guest OS (which is running at user-level) and
 not the host OS.  Do traps by a guest app to the guest OS involve the
 VMM at all?

 Pardon my ignorance, what is IDS?


IDS stands for Intrusion Detection System.

Anthony thought that you want to monitor int80 to detect illegal usage
of system calls.


regards,
Jun

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] What happens on an INT80 instruction

2007-10-02 Thread Jun Koi
On 10/1/07, Anthony Liguori [EMAIL PROTECTED] wrote:
 Cameron Macdonell wrote:
  Hi,
 
  I'm trying to understand guest virtualization at the lower levels.  I
  have a somewhat basic question:  How does KVM virtualize an int80
  instruction from a guest?  A pointer to an answer is just as good as
  an answer itself.
 

 The same thing happens as it does on normal hardware.

 The way VT/SVM works (at a high level), is that certain instructions and
 events check a special area called the VMCS/VMCB to determine whether
 the event should generate a vmexit which is really just a special type
 of trap.

 There are no hooks for interrupts 32-255 so the hardware operates as it
 normally would.  If you're interested in getting a trap for int80 within
 KVM, you'll have to trap sidt/lidt and virtualize the IDT.  You'll need
 to setup a fake IDT and have the int80 handler do a hypercall.  This is
 complicated if the guest is using a fast-syscall mechanism.  It may be a
 little challenging finding a piece of guest memory to take over that has
 a valid virtual mapping.

This is a bit vague to me. Why do you need a piece of guest memory here?

Thanks,
Jun

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] Backwards compat for 2.6.16?

2007-10-02 Thread Rusty Russell
Hi all,

The lapic code uses ktime_t and hrtimers, which means we no longer
build for kernels 2.6.15 and below.  Is it worth trying to fake this
infrastructure up, building without lapic, or abandoning  2.6.16?

Thanks,
Rusty.


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [PATCH] Script to help check compatibility against a range of kernels.

2007-10-02 Thread Rusty Russell
This makes it easier to check kvm-userspace compatibility layer.

---
 check-compat.sh |   27 +++
 1 files changed, 27 insertions(+), 0 deletions(-)
 create mode 100755 check-compat.sh

diff --git a/check-compat.sh b/check-compat.sh
new file mode 100755
index 000..c07be4d
--- /dev/null
+++ b/check-compat.sh
@@ -0,0 +1,27 @@
+#! /bin/sh
+
+die()
+{
+echo FAILED:
+cat $LOGFILE
+exit 1
+}
+
+if [ $# = 0 ]; then
+echo Usage: ./check-compat.sh kerneldir... 2
+echo eg. './check-compat.sh ../linux-2.6.*' 2
+exit 1
+fi
+
+LOGFILE=`mktemp -t kvm-check-compat.XX`
+trap rm -f $LOGFILE 0
+
+for k in $@; do
+[ -d $k ] || continue
+make clean  /dev/null 21
+echo -n Checking $k...
+./configure --kerneldir=`pwd`/$k  $LOGFILE 21 || die
+make  $LOGFILE 21 || die
+echo ok.
+done
+
-- 
1.5.1.3




-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] Backwards compat for 2.6.16?

2007-10-02 Thread Avi Kivity
Rusty Russell wrote:
 Hi all,

   The lapic code uses ktime_t and hrtimers, which means we no longer
 build for kernels 2.6.15 and below.  Is it worth trying to fake this
 infrastructure up, building without lapic, or abandoning  2.6.16?

   

I think we can stub the code away, and hack the feature reporting to 
hide the crippled functionality.


-- 
error compiling committee.c: too many arguments to function


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] KVM TODO

2007-10-02 Thread Onkar
Please can anyone give me some kvm-TODO.
(preferably on x86_64 and i686)

Thanks  regards,
Onkar
-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] KVM TODO

2007-10-02 Thread Izik Eidus
Onkar wrote:
 Please can anyone give me some kvm-TODO.
 (preferably on x86_64 and i686)

there is page on this at kvm homepage:
http://kvm.qumranet.com/kvmwiki/TODO

check out this list, and if you need help in anything just ask :)
 Thanks  regards,
 Onkar
 

 -
 This SF.net email is sponsored by: Microsoft
 Defy all challenges. Microsoft(R) Visual Studio 2005.
 http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
 

 ___
 kvm-devel mailing list
 kvm-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/kvm-devel
   


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [ANNOUNCE] kvm-45 release

2007-10-02 Thread Avi Kivity
Qemu-cvs as of yesterday has been merged into kvm.  Everything I tested 
still works, but undoubtedly a few rough edges remain.  The merge brings 
too many goodies to list; have fun exploring.

I've also thrown in a network latency improvement when using the tap 
device (bridged networking); on may machine this reduces guest-host 
ping round trip latency from 940 microseconds to 78 microseconds.

Less visible but also noteworthy is the removal of page-private use
for guest pages, an important step towards swapping guest pages.

As usual, if you have an issue please try with -no-kvm-irqchip and report.

Changes from kvm-44:
- don't use page-private for guest pages (Izik Eidus)
- x86 emulator cleanups, simplifications, and fixes (Laurent Vivier, 
Qing He)
- apic round robin delivery mode cleanup (Qing He)
- merge qemu-cvs
- fix compilation on older kernels (Rusty Russell, me)
- reduce tap networking latency
- fix FC6 x86_64 booting with -no-kvm
- fix code dump on exception

Notes:
 If you use the modules bundled with kvm-45, you can use any version
of Linux from 2.6.9 upwards.
 If you use the modules bundled with Linux 2.6.20, you need to use
kvm-12.
 If you use the modules bundled with Linux 2.6.21, you need to use
kvm-17.
 Modules from Linux 2.6.22 and up will work with any kvm version from
kvm-22.  Some features may only be available in newer releases.
 For best performance, use Linux 2.6.23-rc2 or later as the host.

http://kvm.qumranet.com



-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH] Script to help check compatibility against a range of kernels.

2007-10-02 Thread Avi Kivity
Rusty Russell wrote:
 This makes it easier to check kvm-userspace compatibility layer.

   

I actually started to write something like this, except it pulled older 
kernels from git.

Thanks.

 ---
  check-compat.sh |   27 +++
  1 files changed, 27 insertions(+), 0 deletions(-)
  create mode 100755 check-compat.sh

 diff --git a/check-compat.sh b/check-compat.sh
 new file mode 100755
 index 000..c07be4d
 --- /dev/null
 +++ b/check-compat.sh
 @@ -0,0 +1,27 @@
 +#! /bin/sh
 +
 +die()
 +{
 +echo FAILED:
 +cat $LOGFILE
 +exit 1
 +}
 +
 +if [ $# = 0 ]; then
 +echo Usage: ./check-compat.sh kerneldir... 2
 +echo eg. './check-compat.sh ../linux-2.6.*' 2
 +exit 1
 +fi
 +
 +LOGFILE=`mktemp -t kvm-check-compat.XX`
 +trap rm -f $LOGFILE 0
 +
 +for k in $@; do
 +[ -d $k ] || continue
 +make clean  /dev/null 21
 +echo -n Checking $k...
 +./configure --kerneldir=`pwd`/$k  $LOGFILE 21 || die
 +make  $LOGFILE 21 || die
 +echo ok.
 +done
 +
   


-- 
error compiling committee.c: too many arguments to function


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [ kvm-Bugs-1806241 ] KVM-45 colors bug

2007-10-02 Thread SourceForge.net
Bugs item #1806241, was opened at 2007-10-02 12:27
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=893831aid=1806241group_id=180599

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Technologov (technologov)
Assigned to: Nobody/Anonymous (nobody)
Summary: KVM-45 colors bug

Initial Comment:
KVM-45 provides incorrect colors on the following resolutions:

-Text Mode (80x25)
-640x480x8-bit
-640x480x24-bit
-800x600x8-bit
-800x600x24-bit

Correct colors found on the following guest resolutions:
-640x480x16-bit
-800x600x16-bit

Incorrect colors means that Red and Blue color-channels are swapped.

The same happens with -no-kvm.

Tested on AMD64, Fedora7, 64-bit host.

Tested with Cirrus Logic video card. (but same happens with -std-vga)

-Alexey Technologov. 2.oct.2007.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=893831aid=1806241group_id=180599

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [PATCH] Don't route PIC interrupts through the local APIC if the local APIC config says so

2007-10-02 Thread Avi Kivity
Under certain conditions, PIC interrupts should not be passed through by 
the local APIC.  This is usually when the guest uses the IOAPIC instead 
of the PIC.


Currently qemu does not block PIC interrupts when the local APIC is 
configured to do so; this results in interrupts begin received twice and 
time running at double speed on Linux x86_64 guest.


The attached patch, from Qing He and myself, fixes the problem.

--
error compiling committee.c: too many arguments to function

Index: vl.h
===
RCS file: /sources/qemu/qemu/vl.h,v
retrieving revision 1.273
diff -u -u -r1.273 vl.h
--- vl.h	30 Sep 2007 14:44:52 -	1.273
+++ vl.h	2 Oct 2007 10:28:55 -
@@ -1138,6 +1138,7 @@
 typedef struct IOAPICState IOAPICState;
 
 int apic_init(CPUState *env);
+int apic_accept_pic_intr(CPUState *env);
 int apic_get_interrupt(CPUState *env);
 IOAPICState *ioapic_init(void);
 void ioapic_set_irq(void *opaque, int vector, int level);
Index: hw/apic.c
===
RCS file: /sources/qemu/qemu/hw/apic.c,v
retrieving revision 1.16
diff -u -u -r1.16 apic.c
--- hw/apic.c	17 Sep 2007 08:09:46 -	1.16
+++ hw/apic.c	2 Oct 2007 10:28:55 -
@@ -484,6 +484,25 @@
 return intno;
 }
 
+int apic_accept_pic_intr(CPUState *env)
+{
+APICState *s = env-apic_state;
+uint32_t lvt0;
+
+if (!s)
+return -1;
+
+lvt0 = s-lvt[APIC_LVT_LINT0];
+
+if (s-id == 0 
+((s-apicbase  MSR_IA32_APICBASE_ENABLE) == 0 ||
+ ((lvt0  APIC_LVT_MASKED) == 0 
+  ((lvt0  8)  0x7) == APIC_DM_EXTINT)))
+return 1;
+
+return 0;
+}
+
 static uint32_t apic_get_current_count(APICState *s)
 {
 int64_t d;
@@ -790,6 +809,13 @@
 {
 APICState *s = opaque;
 apic_init_ipi(s);
+
+/*
+ * LINT0 delivery mode is set to ExtInt at initialization time
+ * typically by BIOS, so PIC interrupt can be delivered to the
+ * processor when local APIC is enabled.
+ */
+s-lvt[APIC_LVT_LINT0] = 0x700;
 }
 
 static CPUReadMemoryFunc *apic_mem_read[3] = {
@@ -821,6 +847,13 @@
 s-apicbase = 0xfee0 |
 (s-id ? 0 : MSR_IA32_APICBASE_BSP) | MSR_IA32_APICBASE_ENABLE;
 
+/*
+ * LINT0 delivery mode is set to ExtInt at initialization time
+ * typically by BIOS, so PIC interrupt can be delivered to the
+ * processor when local APIC is enabled.
+ */
+s-lvt[APIC_LVT_LINT0] = 0x700;
+
 /* XXX: mapping more APICs at the same memory location */
 if (apic_io_memory == 0) {
 /* NOTE: the APIC is directly connected to the CPU - it is not
Index: hw/pc.c
===
RCS file: /sources/qemu/qemu/hw/pc.c,v
retrieving revision 1.85
diff -u -u -r1.85 pc.c
--- hw/pc.c	17 Sep 2007 08:09:47 -	1.85
+++ hw/pc.c	2 Oct 2007 10:28:55 -
@@ -93,6 +93,9 @@
 return intno;
 }
 /* read the irq from the PIC */
+if (!apic_accept_pic_intr(env))
+return -1;
+
 intno = pic_read_irq(isa_pic);
 return intno;
 }
@@ -100,10 +103,8 @@
 static void pic_irq_request(void *opaque, int irq, int level)
 {
 CPUState *env = opaque;
-if (level)
+if (level  apic_accept_pic_intr(env))
 cpu_interrupt(env, CPU_INTERRUPT_HARD);
-else
-cpu_reset_interrupt(env, CPU_INTERRUPT_HARD);
 }
 
 /* PC cmos mappings */
-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] FreeBSD image hangs during boot

2007-10-02 Thread Aurelien Jarno
Hi all,

That's not something new, but I never seen the problem mentioned here.
FreeBSD does not work on KVM, approximately since the lapic merge.

However, that does not seem related to lapic, as using -no-kvm-irqchip
does not help. With -no-kvm I get a page fault in kernel mode, while the
normal QEMU (0.9.0 or CVS) does not have this problem.

This can be easily reproduced with the latest installation CD:
ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/6.2/6.2-RELEASE-i386-bootonly.iso

Cheers,
Aurelien

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [RFC] KVM Source layout Proposal to accommodate new CPU architecture

2007-10-02 Thread Carsten Otte
Rusty Russell wrote:
 Whatever way we go, grouping both host and guest support in the same dir
 seems confusing (which is why lguest is moving to arch/i386/lguest/ for
 guest and drivers/lguest/i386/ for host).
That really is funny. Our s39host is just the other way round: 
arch/s390/sie for the host, and drivers/s390/sie for the guest. Maybe 
lguest is upside down cause it's from australia? But at least the 
argument of a clear separation between guest and host in the source 
tree seems to be common sense.

Carsten

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] FreeBSD image hangs during boot

2007-10-02 Thread Laurent Vivier
Hi Aurélien,

did you try kvm-45 ?

Laurent

Aurelien Jarno wrote:
 Hi all,
 
 That's not something new, but I never seen the problem mentioned here.
 FreeBSD does not work on KVM, approximately since the lapic merge.
 
 However, that does not seem related to lapic, as using -no-kvm-irqchip
 does not help. With -no-kvm I get a page fault in kernel mode, while the
 normal QEMU (0.9.0 or CVS) does not have this problem.
 
 This can be easily reproduced with the latest installation CD:
 ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/6.2/6.2-RELEASE-i386-bootonly.iso
 
 Cheers,
 Aurelien
 


-- 
- [EMAIL PROTECTED]  --
  Software is hard - Donald Knuth



signature.asc
Description: OpenPGP digital signature
-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] FreeBSD image hangs during boot

2007-10-02 Thread Aurelien Jarno
Laurent Vivier a écrit :
 Hi Aurélien,
 
 did you try kvm-45 ?
 

Yes the test is done with kvm-45.

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] FreeBSD image hangs during boot

2007-10-02 Thread Aurelien Jarno
Avi Kivity a écrit :
 Aurelien Jarno wrote:
 Hi all,

 That's not something new, but I never seen the problem mentioned here.
 FreeBSD does not work on KVM, approximately since the lapic merge.

 However, that does not seem related to lapic, as using -no-kvm-irqchip
 does not help. With -no-kvm I get a page fault in kernel mode, while the
 normal QEMU (0.9.0 or CVS) does not have this problem.

 This can be easily reproduced with the latest installation CD:
 ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/6.2/6.2-RELEASE-i386-bootonly.iso

   
 
 It complains about the RSDT checksum.  Running with -no-acpi works 
 around the problem (it gets to some country selection screen).  So it 
 looks like the ACPI tables are messed up.

The RSDT checksum problem is not new, but it was harmless on previous
versions (like kvm-37).

Using -no-acpi, I am able to boot the machine with -no-kvm, but the
guest still hang with -no-acpi and with -no-kvm-irqchip or lapic
enabled. At least on AMD64, I haven't tested yet on an Intel machine.

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] FreeBSD image hangs during boot

2007-10-02 Thread Laurent Vivier
Avi Kivity wrote:
 Aurelien Jarno wrote:
 Hi all,

 That's not something new, but I never seen the problem mentioned here.
 FreeBSD does not work on KVM, approximately since the lapic merge.

 However, that does not seem related to lapic, as using -no-kvm-irqchip
 does not help. With -no-kvm I get a page fault in kernel mode, while the
 normal QEMU (0.9.0 or CVS) does not have this problem.

 This can be easily reproduced with the latest installation CD:
 ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/6.2/6.2-RELEASE-i386-bootonly.iso

   
 
 It complains about the RSDT checksum.  Running with -no-acpi works 
 around the problem (it gets to some country selection screen).  So it 
 looks like the ACPI tables are messed up.

I should have the same kind of problem with debian-31r0a-amd64-netinst.iso which
hangs on:  Loading module 'ide-disk' for 'Linux ATA DISK'...

and -no-acpi resolves this too.

Laurent
-- 
- [EMAIL PROTECTED]  --
  Software is hard - Donald Knuth



signature.asc
Description: OpenPGP digital signature
-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] FreeBSD image hangs during boot

2007-10-02 Thread Avi Kivity
Aurelien Jarno wrote:
 Avi Kivity a écrit :
   
 Aurelien Jarno wrote:
 
 Hi all,

 That's not something new, but I never seen the problem mentioned here.
 FreeBSD does not work on KVM, approximately since the lapic merge.

 However, that does not seem related to lapic, as using -no-kvm-irqchip
 does not help. With -no-kvm I get a page fault in kernel mode, while the
 normal QEMU (0.9.0 or CVS) does not have this problem.

 This can be easily reproduced with the latest installation CD:
 ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/6.2/6.2-RELEASE-i386-bootonly.iso

   
   
 It complains about the RSDT checksum.  Running with -no-acpi works 
 around the problem (it gets to some country selection screen).  So it 
 looks like the ACPI tables are messed up.
 

 The RSDT checksum problem is not new, but it was harmless on previous
 versions (like kvm-37).

 Using -no-acpi, I am able to boot the machine with -no-kvm, but the
 guest still hang with -no-acpi and with -no-kvm-irqchip or lapic
 enabled. At least on AMD64, I haven't tested yet on an Intel machine.

   

Hangs on AMD here as well; works on intel (with -no-acpi).



-- 
error compiling committee.c: too many arguments to function


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] What happens on an INT80 instruction

2007-10-02 Thread Gregory Haskins
On Mon, 2007-10-01 at 17:23 -0600, Cam Macdonell wrote:

 
 Actually, I looking into doing a PhD dissertation :)  I'm just trying to 
 get a better working understanding of how kvm (and other VMMs) handle 
 instructions like int80 that should trap into the OS, but of course in a 
 VM need to trap into the guest OS (which is running at user-level) and 
 not the host OS.  Do traps by a guest app to the guest OS involve the 
 VMM at all?

Hi Cam,
   The answer has to do with a few different variables:

1) The capabilities of the virtualization technology hw (e.g. VMX, SVM,
etc)

2) The programming of those capabilities by the VMM

The important thing to remember when using VM hardware is: they aren't
*really* executing guest code in userspace (though that is a very nice
way to think of them in many respects...I do this myself when its
convenient).  They are really executing in a special context
(guest-mode) where the hardware can be programmed in various ways by
the VMM.

Intel VMX for instance, (and AMD-SVM is similar) allows the guest to
have its own Interrupt-Descriptor-Table (IDT) independent of the hosts
IDT.  This governs how interrupts are handled when they are injected
into the guest context, just like the host IDT governs how they are
delivered to the VMM.  One primary difference, however, is the host has
some programmatic control over the behavior of the guest (within the
constraints of the hardware capabilities, of course).  For instance, the
host can program the VMX hardware to cause a VMEXIT when certain
instructions or events happen inside the guest.

VMX has such a control for INTx instructions (see Section 20.6.3 in the
Intel SDM Volume 3b), but (IIUC, and as Anthony mentioned) they are
limited to the first 32 of the 256 vectors in x86 (i.e. the hardware
exceptions) whereas the remaining vectors are not trappable.  What this
means is that if the vector is = 32, or if its  32 but the
exit-control is not enabled the INTx instruction will be delivered right
to the guests-IDT without leaving guest-context.  Otherwise, it will
VMEXIT back to the host. 

IIUC, KVM in particular only sets the control for a handful of the 32
vectors (#PF is one, I'm pretty sure ;).  KVM doesn't care about INT80,
and the VMX hardware doesn't support that exit-condition even if it did.
What this means is that on KVM/VMX, an INT80 is delivered to whatever
the guest set up in its own IDT for vector 80, and that's it.  The host
wouldn't even know, per se.  However, I'm sure there might be some
VMM/HW combo out there other than KVM that might trap INT80, so YMMV.

I hope this helps to clarify.

Good luck on that dissertation!
-Greg




signature.asc
Description: This is a digitally signed message part
-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] FreeBSD image hangs during boot

2007-10-02 Thread Aurelien Jarno
Laurent Vivier a écrit :
 Avi Kivity wrote:
 Aurelien Jarno wrote:
 Hi all,

 That's not something new, but I never seen the problem mentioned here.
 FreeBSD does not work on KVM, approximately since the lapic merge.

 However, that does not seem related to lapic, as using -no-kvm-irqchip
 does not help. With -no-kvm I get a page fault in kernel mode, while the
 normal QEMU (0.9.0 or CVS) does not have this problem.

 This can be easily reproduced with the latest installation CD:
 ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/6.2/6.2-RELEASE-i386-bootonly.iso

   
 It complains about the RSDT checksum.  Running with -no-acpi works 
 around the problem (it gets to some country selection screen).  So it 
 looks like the ACPI tables are messed up.
 
 I should have the same kind of problem with debian-31r0a-amd64-netinst.iso 
 which
 hangs on:  Loading module 'ide-disk' for 'Linux ATA DISK'...
 
 and -no-acpi resolves this too.
 

This is most probably the same problem on FreeBSD, as it has destroyed
my disk image. I don't know yet if I can repair it or not.

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] What happens on an INT80 instruction

2007-10-02 Thread Anthony Liguori
Jun Koi wrote:
 On 10/1/07, Anthony Liguori [EMAIL PROTECTED] wrote:
   
 Cameron Macdonell wrote:
 
 Hi,

 I'm trying to understand guest virtualization at the lower levels.  I
 have a somewhat basic question:  How does KVM virtualize an int80
 instruction from a guest?  A pointer to an answer is just as good as
 an answer itself.

   
 The same thing happens as it does on normal hardware.

 The way VT/SVM works (at a high level), is that certain instructions and
 events check a special area called the VMCS/VMCB to determine whether
 the event should generate a vmexit which is really just a special type
 of trap.

 There are no hooks for interrupts 32-255 so the hardware operates as it
 normally would.  If you're interested in getting a trap for int80 within
 KVM, you'll have to trap sidt/lidt and virtualize the IDT.  You'll need
 to setup a fake IDT and have the int80 handler do a hypercall.  This is
 complicated if the guest is using a fast-syscall mechanism.  It may be a
 little challenging finding a piece of guest memory to take over that has
 a valid virtual mapping.
 

 This is a bit vague to me. Why do you need a piece of guest memory here?
   

You don't just need guest memory, you need a valid guest virtual address 
too.  The IDTR contains a guest VA.  If you want to create your own IDT, 
then it has to be a valid VA in the guest's address space.

Regards,

Anthony Liguori

 Thanks,
 Jun

   


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [ kvm-Bugs-1806334 ] Fedora 7 (64-bit) Fails to Install

2007-10-02 Thread SourceForge.net
Bugs item #1806334, was opened at 2007-10-02 15:52
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=893831aid=1806334group_id=180599

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Technologov (technologov)
Assigned to: Nobody/Anonymous (nobody)
Summary: Fedora 7 (64-bit) Fails to Install

Initial Comment:
On KVM-45, Fedora 7 (64-bit) Fails to Load the CD-ROM driver.

The BIOS loads the CD-ROM, then the kernel is loaded, then the kernel loads 
it's own CD-ROM driver, which doesn't finds the CD-ROM. Actually, in the middle 
of init procedure CD-ROM becomes inaccessible.

Platform: Fedora 7, 64-bit, AMD64.

The same problem occur with -no-kvm. On KVM-44 it works.

-Alexey Technologov. 02.oct.2007.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=893831aid=1806334group_id=180599

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [ kvm-Bugs-1806338 ] Fedora 7 - fonts corrupted

2007-10-02 Thread SourceForge.net
Bugs item #1806338, was opened at 2007-10-02 16:06
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=893831aid=1806338group_id=180599

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Technologov (technologov)
Assigned to: Nobody/Anonymous (nobody)
Summary: Fedora 7 - fonts corrupted

Initial Comment:
Host: AMD64, Fedora7 64-bit, KVM-45.

During install of Fedora 7 (32-bit) guest, on SDL, I see that fonts are 
corrupted and totally unreadable.

This make the setup experience for blind.

The same happens with -no-kvm. KVM-44 works fine. VNC works fine.

Maybe this bug is related to:

[ 1806241 ] KVM-45 colors bug
https://sourceforge.net/tracker/index.php?func=detailaid=1806241group_id=180599atid=893831

-Alexey Technologov 02.Oct.2007.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=893831aid=1806338group_id=180599

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [ kvm-Bugs-1806377 ] Fedora 7 (64-bit) Fails to Install

2007-10-02 Thread SourceForge.net
Bugs item #1806377, was opened at 2007-10-02 16:45
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=893831aid=1806377group_id=180599

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Technologov (technologov)
Assigned to: Nobody/Anonymous (nobody)
Summary: Fedora 7 (64-bit) Fails to Install

Initial Comment:
On KVM-45, Fedora 7 (64-bit) Fails to Load the CD-ROM driver.

The BIOS loads the CD-ROM, then the kernel is loaded, then the kernel loads 
it's own CD-ROM driver, which doesn't finds the CD-ROM. Actually, in the middle 
of init procedure CD-ROM becomes inaccessible.

Platform: Fedora 7, 64-bit, AMD64.

The same problem occur with -no-kvm. On KVM-44 it works.

-Alexey Technologov. 02.oct.2007.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=893831aid=1806377group_id=180599

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [ kvm-Bugs-1806380 ] SMP Error

2007-10-02 Thread SourceForge.net
Bugs item #1806380, was opened at 2007-10-02 16:52
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=893831aid=1806380group_id=180599

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Technologov (technologov)
Assigned to: Nobody/Anonymous (nobody)
Summary: SMP Error

Initial Comment:
KVM-45 cannot boot any SMP guests.

Host: AMD64, Fedora7, 64-bit, KVM-45.

When I try to boot any SMP guest, I see black screen, and the console returns 
FLOPPY ERROR. I don't see any connection between SMP and floppy, but the fact 
remains that KVM-45 broke SMP totally.

With -no-kvm there is no such error.

-Alexey Technologov.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=893831aid=1806380group_id=180599

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [ kvm-Bugs-1806380 ] SMP Error

2007-10-02 Thread Aurelien Jarno
SourceForge.net a écrit :
 Bugs item #1806380, was opened at 2007-10-02 16:52
 Message generated for change (Tracker Item Submitted) made by Item Submitter
 You can respond by visiting: 
 https://sourceforge.net/tracker/?func=detailatid=893831aid=1806380group_id=180599
 
 Please note that this message will contain a full copy of the comment thread,
 including the initial issue submission, for this request,
 not just the latest update.
 Category: None
 Group: None
 Status: Open
 Resolution: None
 Priority: 5
 Private: No
 Submitted By: Technologov (technologov)
 Assigned to: Nobody/Anonymous (nobody)
 Summary: SMP Error
 
 Initial Comment:
 KVM-45 cannot boot any SMP guests.
 
 Host: AMD64, Fedora7, 64-bit, KVM-45.
 
 When I try to boot any SMP guest, I see black screen, and the console returns 
 FLOPPY ERROR. I don't see any connection between SMP and floppy, but the 
 fact remains that KVM-45 broke SMP totally.

I would not say totally, given that I am able to run both i386 and amd64
Debian unstable in guest SMP mode.

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [ kvm-Bugs-1806380 ] SMP Error

2007-10-02 Thread Alexey Eremenko

 I would not say totally, given that I am able to run both i386 and amd64
 Debian unstable in guest SMP mode.


What is your host OS ? CPU ? KVM ?

-- 
-Alexey Eremenko Technologov

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [ kvm-Bugs-1806380 ] SMP Error

2007-10-02 Thread Aurelien Jarno
Alexey Eremenko a écrit :
 I would not say totally, given that I am able to run both i386 and amd64
 Debian unstable in guest SMP mode.

 
 What is your host OS ? CPU ? KVM ?
 

Host: Debian Etch amd64
CPU: Intel Core 2
KVM: 45

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] FreeBSD image hangs during boot

2007-10-02 Thread Avi Kivity
Aurelien Jarno wrote:
 Avi Kivity a écrit :
   
 Aurelien Jarno wrote:
 
 Hi all,

 That's not something new, but I never seen the problem mentioned here.
 FreeBSD does not work on KVM, approximately since the lapic merge.

 However, that does not seem related to lapic, as using -no-kvm-irqchip
 does not help. With -no-kvm I get a page fault in kernel mode, while the
 normal QEMU (0.9.0 or CVS) does not have this problem.

 This can be easily reproduced with the latest installation CD:
 ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/6.2/6.2-RELEASE-i386-bootonly.iso

   
   
 It complains about the RSDT checksum.  Running with -no-acpi works 
 around the problem (it gets to some country selection screen).  So it 
 looks like the ACPI tables are messed up.
 

 The RSDT checksum problem is not new, but it was harmless on previous
 versions (like kvm-37).

 Using -no-acpi, I am able to boot the machine with -no-kvm, but the
 guest still hang with -no-acpi and with -no-kvm-irqchip or lapic
 enabled. At least on AMD64, I haven't tested yet on an Intel machine.

   

Looks like there is a compiler problem that's interfering here.  A bios 
compiled on one machine will boot fine on Intel, but on other machines 
(unfortunately my work machines) will not.

There is a separate issue with -no-acpi on AMD.  Is there some version 
where -no-acpi worked on AMD?

-- 
error compiling committee.c: too many arguments to function


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] Paravirtualization

2007-10-02 Thread xeb
On official web site said:
In progress:
* Paravirtualized networking
* Paravirtualized block device

Where can find sources of that work, if it is possible ?

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH] Allow for Cross compile of user tools

2007-10-02 Thread Jerone Young
On Tue, 2007-10-02 at 07:59 +0200, Avi Kivity wrote:
 Jerone Young wrote:
  This is the first of many patches to begin to make kvm source a lot
  better for compiling for other architecture support (that is not x86 or
  x86-64).
 
  This patch makes it possible so that someone on an x86 machine can cross
  compile for an x86-64 machine and vice versa. So now you will have
  config-$(arch).mak for each architecture, with specific architecture
  rules. 
 
  An example of this is for compiling x86-64 on an x86 machine is:
  make KERNELDIR=~/tmp/kvm ARCH=x86_64

 
 This should be done via ./configure (I dislike ?= intensely).

This is something that could be done via the ./configure script. What
will need to add is ARCH=, CC=, LD= as variables as well. 

I can create a patch for this.


 
  This allows for someone with an x86 machine to compile for x86_64. Later
  patches that I will be submitting will be for ppc and will make a few
  more changes.
 
  What I would like though is comments on how everyone feels about this
  approach. We are need of something like this to start ading ppc related
  code.
 

 
 No problem for user/.  I'd like to see this accepted by qemu-devel as well.

Well qemu pretty much has this problem taken care of. In qemu you can
just use the autoconf system. So for our purposes with PPC development
we need to compile the binaries on an x86 machine (as the embedded
boards are of course much slower, then our super x86 machines). So you
just launch configure in qemu with the options:

./configure \
--cpu=powerpc \
--cross-prefix=powerpc-440-linux-gnu-

This will compile qemu for the target CPU powerpc and will use cross
compile tools with prefix powerpc-440-linux-gnu- that are in our PATH.
So we have for example powerpc-440-linux-gnu-gcc which is used to
compile the proper ppc binary.

All in all these patches whouldn't be needed in qemu because it already
has this problem taken care of. But the test case directory /user do not
have this problem taken care of. It assumes that you will run on the
machine that you are compiling on.

 


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] FreeBSD image hangs during boot

2007-10-02 Thread Aurelien Jarno
Avi Kivity a écrit :
 Aurelien Jarno wrote:
 Avi Kivity a écrit :
   
 Aurelien Jarno wrote:
 
 Hi all,

 That's not something new, but I never seen the problem mentioned here.
 FreeBSD does not work on KVM, approximately since the lapic merge.

 However, that does not seem related to lapic, as using -no-kvm-irqchip
 does not help. With -no-kvm I get a page fault in kernel mode, while the
 normal QEMU (0.9.0 or CVS) does not have this problem.

 This can be easily reproduced with the latest installation CD:
 ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/6.2/6.2-RELEASE-i386-bootonly.iso

   
   
 It complains about the RSDT checksum.  Running with -no-acpi works 
 around the problem (it gets to some country selection screen).  So it 
 looks like the ACPI tables are messed up.
 
 The RSDT checksum problem is not new, but it was harmless on previous
 versions (like kvm-37).

 Using -no-acpi, I am able to boot the machine with -no-kvm, but the
 guest still hang with -no-acpi and with -no-kvm-irqchip or lapic
 enabled. At least on AMD64, I haven't tested yet on an Intel machine.

   
 
 Looks like there is a compiler problem that's interfering here.  A bios 
 compiled on one machine will boot fine on Intel, but on other machines 
 (unfortunately my work machines) will not.
 
 There is a separate issue with -no-acpi on AMD.  Is there some version 
 where -no-acpi worked on AMD?

It was working correctly before, up to kvm version 37.

I also confirm that using -no-acpi fixes the problem. However, I have
seen strange data corruption, even on Intel.

Basically, booting a recently installed FreeBSD leads to the following
message from the bootloader: No kernel found. And the next time, I get
from the *BIOS*: Boot from Hard Disk failed: not a bootable disk.

Looking at the disk image, the partition table (and maybe more?) has
disappeared. This is with a raw image disk.

If I pass either -no-kvm or -no-kvm-irqchip, the problem disappear.

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] FreeBSD image hangs during boot

2007-10-02 Thread Aurelien Jarno
Aurelien Jarno a écrit :
 Avi Kivity a écrit :
 Aurelien Jarno wrote:
 Avi Kivity a écrit :
   
 Aurelien Jarno wrote:
 
 Hi all,

 That's not something new, but I never seen the problem mentioned here.
 FreeBSD does not work on KVM, approximately since the lapic merge.

 However, that does not seem related to lapic, as using -no-kvm-irqchip
 does not help. With -no-kvm I get a page fault in kernel mode, while the
 normal QEMU (0.9.0 or CVS) does not have this problem.

 This can be easily reproduced with the latest installation CD:
 ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/6.2/6.2-RELEASE-i386-bootonly.iso

   
   
 It complains about the RSDT checksum.  Running with -no-acpi works 
 around the problem (it gets to some country selection screen).  So it 
 looks like the ACPI tables are messed up.
 
 The RSDT checksum problem is not new, but it was harmless on previous
 versions (like kvm-37).

 Using -no-acpi, I am able to boot the machine with -no-kvm, but the
 guest still hang with -no-acpi and with -no-kvm-irqchip or lapic
 enabled. At least on AMD64, I haven't tested yet on an Intel machine.

   
 Looks like there is a compiler problem that's interfering here.  A bios 
 compiled on one machine will boot fine on Intel, but on other machines 
 (unfortunately my work machines) will not.

 There is a separate issue with -no-acpi on AMD.  Is there some version 
 where -no-acpi worked on AMD?
 
 It was working correctly before, up to kvm version 37.
 
 I also confirm that using -no-acpi fixes the problem. However, I have
 seen strange data corruption, even on Intel.
 
 Basically, booting a recently installed FreeBSD leads to the following
 message from the bootloader: No kernel found. And the next time, I get
 from the *BIOS*: Boot from Hard Disk failed: not a bootable disk.
 
 Looking at the disk image, the partition table (and maybe more?) has
 disappeared. This is with a raw image disk.
 
 If I pass either -no-kvm or -no-kvm-irqchip, the problem disappear.

I have just got the problem with -no-kvm-irqchip, though it seems to
happen less often.

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] FreeBSD image hangs during boot

2007-10-02 Thread Aurelien Jarno
Aurelien Jarno a écrit :
 Aurelien Jarno a écrit :
 Avi Kivity a écrit :
 Aurelien Jarno wrote:
 Avi Kivity a écrit :
   
 Aurelien Jarno wrote:
 
 Hi all,

 That's not something new, but I never seen the problem mentioned here.
 FreeBSD does not work on KVM, approximately since the lapic merge.

 However, that does not seem related to lapic, as using -no-kvm-irqchip
 does not help. With -no-kvm I get a page fault in kernel mode, while the
 normal QEMU (0.9.0 or CVS) does not have this problem.

 This can be easily reproduced with the latest installation CD:
 ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/6.2/6.2-RELEASE-i386-bootonly.iso

   
   
 It complains about the RSDT checksum.  Running with -no-acpi works 
 around the problem (it gets to some country selection screen).  So it 
 looks like the ACPI tables are messed up.
 
 The RSDT checksum problem is not new, but it was harmless on previous
 versions (like kvm-37).

 Using -no-acpi, I am able to boot the machine with -no-kvm, but the
 guest still hang with -no-acpi and with -no-kvm-irqchip or lapic
 enabled. At least on AMD64, I haven't tested yet on an Intel machine.

   
 Looks like there is a compiler problem that's interfering here.  A bios 
 compiled on one machine will boot fine on Intel, but on other machines 
 (unfortunately my work machines) will not.

 There is a separate issue with -no-acpi on AMD.  Is there some version 
 where -no-acpi worked on AMD?
 It was working correctly before, up to kvm version 37.

 I also confirm that using -no-acpi fixes the problem. However, I have
 seen strange data corruption, even on Intel.

 Basically, booting a recently installed FreeBSD leads to the following
 message from the bootloader: No kernel found. And the next time, I get
 from the *BIOS*: Boot from Hard Disk failed: not a bootable disk.

 Looking at the disk image, the partition table (and maybe more?) has
 disappeared. This is with a raw image disk.

 If I pass either -no-kvm or -no-kvm-irqchip, the problem disappear.
 
 I have just got the problem with -no-kvm-irqchip, though it seems to
 happen less often.

The data corruption seems to come from the userspace part, as I am not
able to reproduce it with the kvm-45 module, and the kvm-44 userspace.

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [PATCH] [2/2] Split arch specific makefile code out

2007-10-02 Thread Jerone Young
This patch makes things better for cross compiling. It also makes adding
a new architecture to the current make system much easier.

Signed-off-by: Jerone Young [EMAIL PROTECTED]


diff --git a/user/Makefile b/user/Makefile
index 26eb530..9567e8f 100644
--- a/user/Makefile
+++ b/user/Makefile
@@ -1,14 +1,19 @@
 
 include config.mak
 
+DESTDIR :=
+
+#include architecure specific make rules
+include config-$(ARCH).mak
+
 # cc-option
 # Usage: OP_CFLAGS+=$(call cc-option, -falign-functions=0, -malign-functions=0)
 
 cc-option = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null \
/dev/null 21; then echo $(1); else echo $(2); fi ;)
 
-CFLAGS = -I $(KERNELDIR)/include $(autodepend-flags) -g -fomit-frame-pointer \
-	-Wall -m$(bits)
+CFLAGS += -I $(KERNELDIR)/include $(autodepend-flags) -g -fomit-frame-pointer \
+	-Wall
 CFLAGS += $(call cc-option, -fno-stack-protector, )
 CFLAGS += $(call cc-option, -fno-stack-protector-all, )
 
@@ -18,20 +23,6 @@ CXXFLAGS = $(autodepend-flags)
 
 autodepend-flags = -MMD -MF $(dir $*).$(notdir $*).d
 
-DESTDIR = 
-
-ifeq ($(shell uname -m), x86_64)
-LIBDIR = /lib64
-cstart.o = test/cstart64.o
-bits = 64
-ldarch = elf64-x86-64
-else
-LIBDIR = /lib
-cstart.o = test/cstart.o
-bits = 32
-ldarch = elf32-i386
-endif
-
 all: kvmctl libkvm.a flatfiles
 
 kvmctl: LDFLAGS += -pthread -lrt
@@ -45,11 +36,7 @@ libkvm.a: kvmctl.o
 
 flatfiles-common = test/bootstrap test/vmexit.flat test/smp.flat
 
-flatfiles-32 =
-
-flatfiles-64 = test/access.flat test/irq.flat test/sieve.flat test/simple.flat test/stringio.flat test/memtest1.flat
-
-flatfiles: $(flatfiles-common) $(flatfiles-$(bits))
+flatfiles: $(flatfiles-common) $(flatfiles)
 
 install:
 	install -D kvmctl.h $(DESTDIR)/$(PREFIX)/include/kvmctl.h
@@ -60,13 +47,13 @@ install:
 	install -D libkvm.a $(DESTDIR)/$(PREFIX)/$(LIBDIR)/libkvm.a
 
 %.flat: %.o
-	gcc $(CFLAGS) -nostdlib -o $@ -Wl,-T,flat.lds $^
+	$(CC) $(CFLAGS) -nostdlib -o $@ -Wl,-T,flat.lds $^
 
 test/bootstrap: test/bootstrap.o
-	gcc -nostdlib -o $@ -Wl,-T,bootstrap.lds $^
+	$(CC) -nostdlib -o $@ -Wl,-T,bootstrap.lds $^
 
 %.o: %.S
-	gcc $(CFLAGS) -c -nostdlib -o $@ $^
+	$(CC) $(CFLAGS) -c -nostdlib -o $@ $^
 
 test/irq.flat: test/print.o
 
diff --git a/user/config-x86.mak b/user/config-x86.mak
new file mode 100644
index 000..d2d181b
--- /dev/null
+++ b/user/config-x86.mak
@@ -0,0 +1,7 @@
+LIBDIR = /lib
+cstart.o = test/cstart.o
+bits = 32
+ldarch = elf32-i386
+CFLAGS += -m32
+
+flatfiles=
diff --git a/user/config-x86_64.mak b/user/config-x86_64.mak
new file mode 100644
index 000..19ebc46
--- /dev/null
+++ b/user/config-x86_64.mak
@@ -0,0 +1,7 @@
+LIBDIR = /lib64
+cstart.o = test/cstart64.o
+bits = 64
+ldarch = elf64-x86-64
+CFLAGS += -m64
+
+flatfiles = test/access.flat test/irq.flat test/sieve.flat test/simple.flat test/stringio.flat test/memtest1.flat
-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [PATCH] [1/2] Update user configure script

2007-10-02 Thread Jerone Young
This adds the ability to change CC, ARCH,  LD variables with configure
script in user directory.

Signed-off-by: Jerone Young [EMAIL PROTECTED]

diff --git a/user/configure b/user/configure
index 0bdd3de..20b9367 100755
--- a/user/configure
+++ b/user/configure
@@ -2,13 +2,18 @@
 
 prefix=/usr/local
 kerneldir=/lib/modules/$(uname -r)/build
+cc=gcc
+ld=ld
+arch=`uname -m | sed -e s/i.86/x86/`
 
 usage() {
 cat -EOF
 	Usage: $0 [options]
 
 	Options include:
-
+	--arch=ARCHarchitecture to compile for ($arch)
+	--cc=CC		   c compiler to use ($cc)
+	--ld=LD		   ld linker to use ($ld)
 	--prefix=PREFIXwhere to install things ($prefix)
 	--kerneldir=DIRkernel build directory for kvm.h ($kerneldir)
 EOF
@@ -29,6 +34,15 @@ while [[ $1 = -* ]]; do
 	--kerneldir)
 	kerneldir=$arg
 	;;
+--arch)
+	arch=$arg
+	;;
+	--cc)
+	cc=$arg
+	;;
+	--ld)
+	ld=$arg
+	;;
 	--help)
 	usage
 	;;
@@ -41,4 +55,7 @@ done
 cat EOF  config.mak
 PREFIX=$prefix
 KERNELDIR=$(readlink -f $kerneldir)
+ARCH=$arch
+CC=$cc
+LD=$ld
 EOF
-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] Windows XP Pro 64 installation issues with kvm-45 on Intel host

2007-10-02 Thread fdelawarde
Hello,

Trying to install Windows XP Pro 64bits, the first phase goes quite well (except
that it uses 100% of host's cpu), but crashes when trying to reboot with the
following message:

unhandled vm exit:  0x8021
rax 0095b9e5 rbx 0095b9c0 rcx 0095b9e5 rdx
0600
rsi f883f200 rdi f800011a6960 rsp  rbp
fadfeb886a10
r8   r9  0100 r10 0095b9e5 r11
0080
r12  r13  r14  r15

rip  rflags 00023002
cs 1000 (0001/ p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
ds  (/ p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
es  (/ p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
ss  (/ p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
fs  (/ p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
gs  (/ p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
tr  (30c0/2088 p 1 dpl 0 db 0 s 0 type b l 0 g 0 avl 0)
ldt  (/ p 1 dpl 0 db 0 s 0 type 2 l 0 g 0 avl 0)
gdt 0/
idt 0/
cr0 6010 cr2 fadfead016a0 cr3 2f941000 cr4 0 cr8 0 efer 0
./bin/install_windowsxp64.sh: line 12:  6486 Aborted sudo nice
-n -5 qemu-system-x86_64 -smp 2 -m 768 -localtime -net nic -net user -hda $DISC
-cdrom $CDROM -boot d -usb --usbdevice tablet

It then hangs (no host cpu usage, no mouse movement in guest) after a while on
second installation phase after a manual reboot.


Trying from zero with -no-kvm-irqchip, it gives a windows blue screen (host cpu
at 100%) when trying to reboot with the following message for if anyone
understands those windows things:

STOP: 0x001E
(0xC096,0xF80001071924,0x,0xFADFEB5BD450)

After manual reboot, installation also hangs at some point

Host: debian lenny, kernel 2.6.21-6
Processor: Intel(R) Pentium(R) D CPU 3.00GHz
KVM: 45

If you want further debug information, I'd be pleased to help.


Thanks,
François.



This message was sent using IMP, the Internet Messaging Program.


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] Reboot crashes with FC6

2007-10-02 Thread Cam Macdonell

Hi,

Rebooting a FC6 guest crashes with KVM-45, below is the output.

exception 13 (0)
rax  rbx  rcx  rdx 
0600
rsi  rdi  rsp  rbp 

r8   r9   r10  r11 

r12  r13  r14  r15 

rip 0001 rflags 00033046
cs f000 (000f/ p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
ds  (/ p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
es  (/ p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
ss  (/ p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
fs  (/ p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
gs  (/ p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0)
tr 0040 (80c0/2088 p 1 dpl 0 db 0 s 0 type b l 0 g 0 avl 0)
ldt  (/ p 1 dpl 0 db 0 s 0 type 2 l 0 g 0 avl 0)
gdt 0/
idt 0/
cr0 6010 cr2 0 cr3 0 cr4 0 cr8 0 efer 0
code: 00 00 00 00 ea 5b e0 00 f0 30 39 2f 31 30 2f 30 37 00 fc fc -- fc 
fa b8 18 00 00 00 8e d8 8e c0 8e d0 8d 66 40 e8 00 00 00 00 5d 81 ed 15 
00 00 00 b8 60

Is this the expected behaviour?  Is there a flag that is needed for 
rebooting?  I know that it can depend on the guest OS.

Thanks,
Cam

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH] Correct management of REP prefix

2007-10-02 Thread Kamble, Nitin A
Hi Laurent,
This patch looks much cleaner to me. 

I see you are saving the regs like this in the patch.
 memcpy(c-regs, ctxt-vcpu-regs, sizeof c-regs);

But I don't see any place in the patch these regs getting restored after
failure.

Is it taken care of the code outside of the patch?


Thanks  Regards,
Nitin
Linux Open Source Technology Center, Intel Corporation


The Mind is like a parachute; it works much better when it's open.

-Original Message-
From: Laurent Vivier [mailto:[EMAIL PROTECTED] 
Sent: Monday, October 01, 2007 2:01 AM
To: kvm-devel@lists.sourceforge.net
Cc: Kamble, Nitin A; [EMAIL PROTECTED]; Laurent Vivier
Subject: [PATCH] Correct management of REP prefix

This patch corrects some errors appearing when we have an emulation
failure
on an operation using REP prefix.

When x86_emulate_insn() fails, saving EIP and ECX is not enough as
emulation
should have modified other registers like RSI or RDI. Moreover, the
emulation
can fail on the writeback, and in this case we are not able to restore
registers.

At beginning of x86_emulate_insn(), we restore registers from vcpu as
they were
not modified by x86d_decode_insn() and we save EIP to be able to restore
it
in case of failure.

Signed-off-by: Laurent Vivier [EMAIL PROTECTED]
---
 drivers/kvm/x86_emulate.c |   35 +--
 1 files changed, 21 insertions(+), 14 deletions(-)

diff --git a/drivers/kvm/x86_emulate.c b/drivers/kvm/x86_emulate.c
index 35069e3..887de7d 100644
--- a/drivers/kvm/x86_emulate.c
+++ b/drivers/kvm/x86_emulate.c
@@ -1146,10 +1146,18 @@ x86_emulate_insn(struct x86_emulate_ctxt *ctxt,
struct x86_emulate_ops *ops)
 {
unsigned long cr2 = ctxt-cr2;
u64 msr_data;
-   unsigned long saved_rcx = 0, saved_eip = 0;
+   unsigned long saved_eip;
struct decode_cache *c = ctxt-decode;
int rc = 0;
 
+   /* Shadow copy of register state. Committed on successful
emulation.
+* NOTE: we can copy them from vcpu as x86_decode_insn() doesn't
+* modify them.
+*/
+
+   memcpy(c-regs, ctxt-vcpu-regs, sizeof c-regs);
+   saved_eip = c-eip;
+
if ((c-d  ModRM)  (c-modrm_mod != 3))
cr2 = c-modrm_ea;
 
@@ -1354,7 +1362,11 @@ writeback:
ctxt-vcpu-rip = c-eip;
 
 done:
-   return (rc == X86EMUL_UNHANDLEABLE) ? -1 : 0;
+   if (rc == X86EMUL_UNHANDLEABLE) {
+   c-eip = saved_eip;
+   return -1;
+   }
+   return 0;
 
 special_insn:
if (c-twobyte)
@@ -1396,8 +1408,10 @@ special_insn:
register_address(ctxt-es_base,
 
c-regs[VCPU_REGS_RDI]),
c-rep_prefix,
-   c-regs[VCPU_REGS_RDX]) == 0)
+   c-regs[VCPU_REGS_RDX]) == 0) {
+   c-eip = saved_eip;
return -1;
+   }
return 0;
case 0x6e:  /* outsb */
case 0x6f:  /* outsw/outsd */
@@ -1412,8 +1426,10 @@ special_insn:
ctxt-ds_base,
 
c-regs[VCPU_REGS_RSI]),
c-rep_prefix,
-   c-regs[VCPU_REGS_RDX]) == 0)
+   c-regs[VCPU_REGS_RDX]) == 0) {
+   c-eip = saved_eip;
return -1;
+   }
return 0;
case 0x70 ... 0x7f: /* jcc (short) */ {
int rel = insn_fetch(s8, 1, c-eip);
@@ -1441,8 +1457,6 @@ special_insn:
ctxt-vcpu-rip = c-eip;
goto done;
}
-   saved_rcx = c-regs[VCPU_REGS_RCX];
-   saved_eip = c-eip;
c-regs[VCPU_REGS_RCX]--;
c-eip = ctxt-vcpu-rip;
}
@@ -1459,10 +1473,6 @@ special_insn:
c-regs[VCPU_REGS_RSI]),
c-dst.val,
c-dst.bytes, ctxt-vcpu)) != 0)
{
-   if (c-rep_prefix) {
-   c-regs[VCPU_REGS_RCX] = saved_rcx;
-   c-eip = saved_eip;
-   }
goto done;
}
register_address_increment(c-regs[VCPU_REGS_RSI],
@@ -1491,10 +1501,6 @@ special_insn:
if ((rc = ops-read_emulated(cr2, c-dst.val,
 c-dst.bytes,
 ctxt-vcpu)) != 0) {
-   if (c-rep_prefix) {
-   c-regs[VCPU_REGS_RCX] = saved_rcx;
-   c-eip = saved_eip;
-   }
goto done;
}

[kvm-devel] when to relize the Paravirtualized networking ?

2007-10-02 Thread vast yellow
Anyone know when to release include the following features
Paravirtualized networking
Paravirtualized block device KVM Tap network is slower than Xen. Can we
optimize it?
-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [PATCH] remove duplicate code

2007-10-02 Thread Glauber de Oliveira Costa
This patch removes duplicate code at vl.c. Once the KVM-only
part defines how much physicall memory it wants, the rest should
be the same for everybody.

Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED]
---
 qemu/vl.c |   23 +--
 1 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/qemu/vl.c b/qemu/vl.c
index fe49d2c..4f8cf51 100644
--- a/qemu/vl.c
+++ b/qemu/vl.c
@@ -8246,7 +8246,7 @@ int main(int argc, char **argv)
 help(1);
 if (ram_size  PHYS_RAM_MAX_SIZE) {
 fprintf(stderr, qemu: at most %d MB RAM can be 
simulated\n,
-PHYS_RAM_MAX_SIZE / (1024 * 1024));
+(int)PHYS_RAM_MAX_SIZE / (1024 * 1024));
 exit(1);
 }
 break;
@@ -8657,20 +8657,15 @@ int main(int argc, char **argv)
fprintf(stderr, Could not create KVM context\n);
exit(1);
}
-} else {
-   phys_ram_base = qemu_vmalloc(phys_ram_size);
-   if (!phys_ram_base) {
-   fprintf(stderr, Could not allocate physical memory\n);
-   exit(1);
-   }
-}
-#else
-phys_ram_base = qemu_vmalloc(phys_ram_size);
-if (!phys_ram_base) {
-fprintf(stderr, Could not allocate physical memory\n);
-exit(1);
-}
+} else
 #endif
+{
+  phys_ram_base = qemu_vmalloc(phys_ram_size);
+  if (!phys_ram_base) {
+  fprintf(stderr, Could not allocate physical memory\n);
+  exit(1);
+  }
+}
 
 /* we always create the cdrom drive, even if no disk is there */
 bdrv_init();
-- 
1.4.4.2


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] when to relize the Paravirtualized networking ?

2007-10-02 Thread Dor Laor

vast yellow wrote:


Anyone know when to release include the following features

# Paravirtualized networking
I have such a code in a separate git repository. It is not yet 
production ready.
The next release is a rebase of Rusty code for virtio and some KVM/Qemu 
backend.

It probably be ready in few weeks.

# Paravirtualized block device

The effort is not big since Rusty has paved most of the way.
Some qemu block handling needs to be done. Again it can happen in 1-2 
months.

KVM Tap network is slower than Xen. Can we optimize it?
 

Are you talking about PV driver or fully virtualized nic?
Dor.
-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH] remove duplicate code

2007-10-02 Thread Glauber de Oliveira Costa
On 10/2/07, Glauber de Oliveira Costa [EMAIL PROTECTED] wrote:
 @@ -8246,7 +8246,7 @@ int main(int argc, char **argv)
  help(1);
  if (ram_size  PHYS_RAM_MAX_SIZE) {
  fprintf(stderr, qemu: at most %d MB RAM can be 
 simulated\n,
 -PHYS_RAM_MAX_SIZE / (1024 * 1024));
 +(int)PHYS_RAM_MAX_SIZE / (1024 * 1024));
  exit(1);
  }
  break;
Ok, this is the wrong version. The above diff is bogus.
I'll resend a new one.
-- 
Glauber de Oliveira Costa.
Free as in Freedom
http://glommer.net

The less confident you are, the more serious you have to act.

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


[kvm-devel] [PATCH] remove duplicate code

2007-10-02 Thread Glauber de Oliveira Costa
This patch removes duplicate code at vl.c. Once the KVM-only
part defines how much physicall memory it wants, the rest should
be the same for everybody.

Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED]
---
 qemu/vl.c |   23 +--
 1 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/qemu/vl.c b/qemu/vl.c
index fe49d2c..4f8cf51 100644
--- a/qemu/vl.c
+++ b/qemu/vl.c
@@ -8657,20 +8657,15 @@ int main(int argc, char **argv)
fprintf(stderr, Could not create KVM context\n);
exit(1);
}
-} else {
-   phys_ram_base = qemu_vmalloc(phys_ram_size);
-   if (!phys_ram_base) {
-   fprintf(stderr, Could not allocate physical memory\n);
-   exit(1);
-   }
-}
-#else
-phys_ram_base = qemu_vmalloc(phys_ram_size);
-if (!phys_ram_base) {
-fprintf(stderr, Could not allocate physical memory\n);
-exit(1);
-}
+} else
 #endif
+{
+  phys_ram_base = qemu_vmalloc(phys_ram_size);
+  if (!phys_ram_base) {
+  fprintf(stderr, Could not allocate physical memory\n);
+  exit(1);
+  }
+}
 
 /* we always create the cdrom drive, even if no disk is there */
 bdrv_init();
-- 
1.4.4.2


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel