Skip to contentSkip to conversation

kvm-36 release

ANNOUNCE Avi Kivity 4 participants 7 messages Sep 12, 2007 – Sep 14, 2007 5 messages not in the archive KVM

lore
Share & tools
lore

Avi Kivity

author
#0 lore raw

Fix a couple of lapic hiccups in kvm-38.

Changes since kvm-38:
- provide div64_64() for older kernels
- improve emulation failure reporting
- more x86 emulator work (push imm8, pushf, call near) (Nitin A Kamble)
- don't use TPR shadow on i386 (Sheng Yang)

Notes:
If you use the modules bundled with kvm-39, 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/vse0120000070mrt/direct/01/

A message that is not in the archive (sent off-list or not yet received): 46E7F417.6020107-atKUWr5tajBWk0Htik3J/[email protected]

author
#2 lore raw

That's kvm-39 of course.

Quoted 32 lines · Avi Kivity

Fix a couple of lapic hiccups in kvm-38.

Changes since kvm-38:
- provide div64_64() for older kernels
- improve emulation failure reporting
- more x86 emulator work (push imm8, pushf, call near) (Nitin A Kamble)
- don't use TPR shadow on i386 (Sheng Yang)

Notes:
If you use the modules bundled with kvm-39, 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/vse0120000070mrt/direct/01/
_______________________________________________
kvm-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Signature · 7 lines
Do not meddle in the internals of kernels, for they are subtle and quick to panic.


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

A message that is not in the archive (sent off-list or not yet received): 46E7F44C.9070303-atKUWr5tajBWk0Htik3J/[email protected]

#4 lore raw

Hi Avi, all,

trying to compile kvm-39 on Ubuntu 6.10 (Linux acaro 2.6.17-12-generic #2 SMP Wed Aug 29 18:53:01 UTC 2007 x86_64 GNU/Linux):

piero@acaro:~/tmp/kvm-39$ make
make -C kernel
make[1]: Entering directory `/home/piero/tmp/kvm-39/kernel'
make -C /lib/modules/2.6.17-12-generic/build M=`pwd` "$@"
make[2]: Entering directory `/usr/src/linux-headers-2.6.17-12-generic'
  LD      /home/piero/tmp/kvm-39/kernel/built-in.o
  CC [M]  /home/piero/tmp/kvm-39/kernel/svm.o
  CC [M]  /home/piero/tmp/kvm-39/kernel/vmx.o
  CC [M]  /home/piero/tmp/kvm-39/kernel/vmx-debug.o
  CC [M]  /home/piero/tmp/kvm-39/kernel/kvm_main.o
/home/piero/tmp/kvm-39/kernel/kvm_main.c: In function ‘kvm_vcpu_ioctl’:
/home/piero/tmp/kvm-39/kernel/kvm_main.c:2850: error: expected identifier 
or ‘(’ before ‘volatile’
/home/piero/tmp/kvm-39/kernel/kvm_main.c:2850: error: expected ‘)’ before ‘(’ 
token
/home/piero/tmp/kvm-39/kernel/kvm_main.c:2852: error: invalid lvalue in 
unary ‘&’
/home/piero/tmp/kvm-39/kernel/kvm_main.c:2853: error: invalid lvalue in 
unary ‘&’
/home/piero/tmp/kvm-39/kernel/kvm_main.c:2857: error: invalid lvalue in 
unary ‘&’
/home/piero/tmp/kvm-39/kernel/kvm_main.c:2863: error: expected identifier 
or ‘(’ before ‘volatile’
/home/piero/tmp/kvm-39/kernel/kvm_main.c:2863: error: expected ‘)’ before ‘(’ 
token
/home/piero/tmp/kvm-39/kernel/kvm_main.c:2866: error: invalid lvalue in 
unary ‘&’
/home/piero/tmp/kvm-39/kernel/kvm_main.c:2868: error: invalid lvalue in 
unary ‘&’
make[3]: *** [/home/piero/tmp/kvm-39/kernel/kvm_main.o] Error 1
make[2]: *** [_module_/home/piero/tmp/kvm-39/kernel] Error 2
make[2]: Leaving directory `/usr/src/linux-headers-2.6.17-12-generic'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/piero/tmp/kvm-39/kernel'
make: *** [kernel] Error 2

Bye
Piero

Alle 16:14, mercoledì 12 settembre 2007, Avi Kivity ha scritto:

Quoted 34 lines

That's kvm-39 of course.

Quoted 31 lines · Avi Kivity

Fix a couple of lapic hiccups in kvm-38.

Changes since kvm-38:
- provide div64_64() for older kernels
- improve emulation failure reporting
- more x86 emulator work (push imm8, pushf, call near) (Nitin A Kamble)
- don't use TPR shadow on i386 (Sheng Yang)

Notes:
If you use the modules bundled with kvm-39, 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/vse0120000070mrt/direct/01/
_______________________________________________
kvm-devel mailing list [email protected]
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/vse0120000070mrt/direct/01/
_______________________________________________
kvm-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/kvm-devel

A message that is not in the archive (sent off-list or not yet received): 200709121708.51719.ottuzzi-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org

#6 lore raw

The compilation errors also showed up on my boxes. The attached patch fixes the errors by renaming variables.

Quoted 81 lines · Piero Ottuzzi

Hi Avi, all,

trying to compile kvm-39 on Ubuntu 6.10 (Linux acaro 2.6.17-12-generic #2 SMP Wed Aug 29 18:53:01 UTC 2007 x86_64 GNU/Linux):

piero@acaro:~/tmp/kvm-39$ make
make -C kernel
make[1]: Entering directory `/home/piero/tmp/kvm-39/kernel'
make -C /lib/modules/2.6.17-12-generic/build M=`pwd` "$@"
make[2]: Entering directory `/usr/src/linux-headers-2.6.17-12-generic'
  LD      /home/piero/tmp/kvm-39/kernel/built-in.o
  CC [M]  /home/piero/tmp/kvm-39/kernel/svm.o
  CC [M]  /home/piero/tmp/kvm-39/kernel/vmx.o
  CC [M]  /home/piero/tmp/kvm-39/kernel/vmx-debug.o
  CC [M]  /home/piero/tmp/kvm-39/kernel/kvm_main.o
/home/piero/tmp/kvm-39/kernel/kvm_main.c: In function ‘kvm_vcpu_ioctl’:
/home/piero/tmp/kvm-39/kernel/kvm_main.c:2850: error: expected identifier
or ‘(’ before ‘volatile’
/home/piero/tmp/kvm-39/kernel/kvm_main.c:2850: error: expected ‘)’ before ‘(’
token
/home/piero/tmp/kvm-39/kernel/kvm_main.c:2852: error: invalid lvalue in
unary ‘&’
/home/piero/tmp/kvm-39/kernel/kvm_main.c:2853: error: invalid lvalue in
unary ‘&’
/home/piero/tmp/kvm-39/kernel/kvm_main.c:2857: error: invalid lvalue in
unary ‘&’
/home/piero/tmp/kvm-39/kernel/kvm_main.c:2863: error: expected identifier
or ‘(’ before ‘volatile’
/home/piero/tmp/kvm-39/kernel/kvm_main.c:2863: error: expected ‘)’ before ‘(’
token
/home/piero/tmp/kvm-39/kernel/kvm_main.c:2866: error: invalid lvalue in
unary ‘&’
/home/piero/tmp/kvm-39/kernel/kvm_main.c:2868: error: invalid lvalue in
unary ‘&’
make[3]: *** [/home/piero/tmp/kvm-39/kernel/kvm_main.o] Error 1
make[2]: *** [_module_/home/piero/tmp/kvm-39/kernel] Error 2
make[2]: Leaving directory `/usr/src/linux-headers-2.6.17-12-generic'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/piero/tmp/kvm-39/kernel'
make: *** [kernel] Error 2

Bye
Piero

Alle 16:14, mercoledì 12 settembre 2007, Avi Kivity ha scritto:

Quoted 27 lines

That's kvm-39 of course.

Quoted 24 lines · Avi Kivity

Fix a couple of lapic hiccups in kvm-38.

Changes since kvm-38:
- provide div64_64() for older kernels
- improve emulation failure reporting
- more x86 emulator work (push imm8, pushf, call near) (Nitin A Kamble)
- don't use TPR shadow on i386 (Sheng Yang)

Notes:
If you use the modules bundled with kvm-39, 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

-------------------------------------------------------------------------

Quoted 7 lines
Quoted 7 lines

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

Quoted 9 lines

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

drivers/kvm/kvm_main.c +7 -7
index 99e4917..f04ca6b 100644
@@ -2967,25 +2967,25 @@ static long kvm_vcpu_ioctl(struct file *
 		break;
 	}
 	case KVM_GET_LAPIC: {
-		struct kvm_lapic_state lapic;
+		struct kvm_lapic_state lapic_state;
 
-		memset(&lapic, 0, sizeof lapic);
-		r = kvm_vcpu_ioctl_get_lapic(vcpu, &lapic);
+		memset(&lapic_state, 0, sizeof lapic_state);
+		r = kvm_vcpu_ioctl_get_lapic(vcpu, &lapic_state);
 		if (r)
 			goto out;
 		r = -EFAULT;
-		if (copy_to_user(argp, &lapic, sizeof lapic))
+		if (copy_to_user(argp, &lapic_state, sizeof lapic_state))
 			goto out;
 		r = 0;
 		break;
 	}
 	case KVM_SET_LAPIC: {
-		struct kvm_lapic_state lapic;
+		struct kvm_lapic_state lapic_state;
 
 		r = -EFAULT;
-		if (copy_from_user(&lapic, argp, sizeof lapic))
+		if (copy_from_user(&lapic_state, argp, sizeof lapic_state))
 			goto out;
-		r = kvm_vcpu_ioctl_set_lapic(vcpu, &lapic);;
+		r = kvm_vcpu_ioctl_set_lapic(vcpu, &lapic_state);;
 		if (r)
 			goto out;
 		r = 0;

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

_______________________________________________
kvm-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/kvm-devel

A message that is not in the archive (sent off-list or not yet received): [email protected]

author
#8 lore raw
Quoted 10 lines · Wei Huang

The compilation errors also showed up on my boxes. The attached patch fixes the errors by renaming variables.

drivers/kvm/kvm_main.c +0 -0
index 99e4917..f04ca6b 100644
@@ -2967,25 +2967,25 @@ static long kvm_vcpu_ioctl(struct file *
 		break;

drivers/kvm/kvm_main.c static long kvm_vcpu_ioctl(struct file * · line 2974

Quoted 10 lines
drivers/kvm/kvm_main.c +3 -3
 	}
 	case KVM_GET_LAPIC: {
-		struct kvm_lapic_state lapic;
+		struct kvm_lapic_state lapic_state;
 
-		memset(&lapic, 0, sizeof lapic);
-		r = kvm_vcpu_ioctl_get_lapic(vcpu, &lapic);
+		memset(&lapic_state, 0, sizeof lapic_state);
+		r = kvm_vcpu_ioctl_get_lapic(vcpu, &lapic_state);
 		if (r)

I committed an equivalent fix, but one that only affects the external module, since the issue is not present with current kernels.

Signature · 7 lines
Do not meddle in the internals of kernels, for they are subtle and quick to panic.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
#9 lore raw
In reply to a message not in the archive

Hi,

Some updates since kvm-37

Compilation worked fine for me on an intel Core2 64bits machine running ubuntu feisty with kernel 2.6.20 x86_64.

Loading modules went ok.

* Running a windows xp image with "/usr/local/bin/qemu-system-x86_64 -smp 2 -m 768 -hda win_xp.qcow -net user -net nic -monitor tcp::4444,server -vnc :1 -redir tcp:3389::3389 &" result in :
exception 6 (0)
rax 0000000000000000 rbx 0000000000000000 rcx 0000000000000000 rdx 0000000000000600
rsi 0000000000000000 rdi 0000000000000000 rsp 000000000000fffe rbp 0000000000000000
r8 0000000000000000 r9 0000000000000000 r10 0000000000000000 r11 0000000000000000
r12 0000000000000000 r13 0000000000000000 r14 0000000000000000 r15 0000000000000000
rip 0000000000000003 rflags 00033082
cs 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0) ds 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0) es 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0) ss 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0) fs 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0) gs 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0) tr 0000 (30850000/00002088 p 1 dpl 0 db 0 s 0 type b l 0 g 0 avl 0) ldt 0000 (00000000/0000ffff p 1 dpl 0 db 0 s 0 type 2 l 0 g 0 avl 0) gdt 0/ffff
idt 0/ffff
cr0 60000010 cr2 0 cr3 0 cr4 0 cr8 0 efer 0
code: 54 ff 00 --> f0 53 ff 00 f0 53 ff 00 f0 53 ff 00 f0 53 ff 00 f0 53 ff 00 f0 53 ff 00 f0 53 ff 00 f0 a5 fe 00 f0 87 e9 00 f0 53 ff 00 f0 53 ff 00 f0 53 ff

* The same image boots with "/usr/local/bin/qemu-system-x86_64 -m 768 -hda win_xp.qcow -net user -net nic -monitor tcp::4444,server -vnc :1 -redir tcp:3389::3389 &".

* I've found out that "-net nic -net user" don't interact nicely with "-smp 2", as the following test with a debian image (kernel 2.6.18 64bits)shows:
-smp 2 -net user (without -net nic)-> boots fine
-smp 2 -net nic (without -net user)-> boots fine
-net nice -net user (without -smp 2) -> boots fine
-smp 2 -net user -net nic -> crash with:
exception 6 (0)
rax 0000000000000000 rbx 0000000000000000 rcx 0000000000000000 rdx 0000000000000600
rsi 0000000000000000 rdi 0000000000000000 rsp 000000000000fffe rbp 0000000000000000
r8 0000000000000000 r9 0000000000000000 r10 0000000000000000 r11 0000000000000000
r12 0000000000000000 r13 0000000000000000 r14 0000000000000000 r15 0000000000000000
rip 0000000000000003 rflags 00033082
cs 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0) ds 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0) es 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0) ss 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0) fs 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0) gs 0000 (00000000/0000ffff p 1 dpl 3 db 0 s 1 type 3 l 0 g 0 avl 0) tr 0000 (30850000/00002088 p 1 dpl 0 db 0 s 0 type b l 0 g 0 avl 0) ldt 0000 (00000000/0000ffff p 1 dpl 0 db 0 s 0 type 2 l 0 g 0 avl 0) gdt 0/ffff
idt 0/ffff
cr0 60000010 cr2 0 cr3 0 cr4 0 cr8 0 efer 0
code: 54 ff 00 --> f0 53 ff 00 f0 53 ff 00 f0 53 ff 00 f0 53 ff 00 f0 53 ff 00 f0 53 ff 00 f0 53 ff 00 f0 a5 fe 00 f0 87 e9 00 f0 53 ff 00 f0 53 ff 00 f0 53 ff
Aborted (core dumped)

Also, when it boots correctly with "-smp 2" it shows 2 processors in /proc/cpuinfo, but I have messages as follows at bootup:
" ACPI : Getting cpuindex for acpiid 0x2
ACPI Exception (acpi_processor-0681): AE_NOT_FOUND, Processor Device not present [20060707]"
(not sure if this is related but I don't remember having seen them before)

HTH
Gildas

2007/9/12, Avi Kivity <avi-atKUWr5tajBWk0Htik3J/[email protected]>:

Quoted 41 lines

That's kvm-39 of course.

Quoted 23 lines · Avi Kivity

Fix a couple of lapic hiccups in kvm-38.

Changes since kvm-38:
- provide div64_64() for older kernels
- improve emulation failure reporting
- more x86 emulator work (push imm8, pushf, call near) (Nitin A Kamble)
- don't use TPR shadow on i386 (Sheng Yang)

Notes:
If you use the modules bundled with kvm-39, 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

Quoted 9 lines

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

--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.

Quoted 9 lines

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
kvm-devel mailing list [email protected]
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/vse0120000070mrt/direct/01/

A message that is not in the archive (sent off-list or not yet received): b2ace7f20709120913wf08b91brb7a2f73b608a3bac-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org

author
#11 lore raw
Quoted 7 lines · Gildas

Hi,

Some updates since kvm-37

Compilation worked fine for me on an intel Core2 64bits machine running ubuntu feisty with kernel 2.6.20 x86_64.

Quoted 8 lines

Loading modules went ok.

* Running a windows xp image with "/usr/local/bin/qemu-system-x86_64 -smp 2 -m 768 -hda win_xp.qcow -net user -net nic -monitor tcp::4444,server -vnc :1 -redir tcp:3389::3389 &" result in :
exception 6 (0)

Which HAL does this image use?

Quoted 9 lines

* I've found out that "-net nic -net user" don't interact nicely with "-smp 2", as the following test with a debian image (kernel 2.6.18 64bits)shows:
-smp 2 -net user (without -net nic)-> boots fine
-smp 2 -net nic (without -net user)-> boots fine
-net nice -net user (without -smp 2) -> boots fine
-smp 2 -net user -net nic -> crash with:

How does -no-kvm-irqchip affect this?

Quoted 8 lines

Also, when it boots correctly with "-smp 2" it shows 2 processors in /proc/cpuinfo, but I have messages as follows at bootup:
" ACPI : Getting cpuindex for acpiid 0x2
ACPI Exception (acpi_processor-0681): AE_NOT_FOUND, Processor Device not present [20060707]"
(not sure if this is related but I don't remember having seen them before)

This is due to some ACPI work that exposes 16 processors so that Windows SMP does not grumble at us. We should make the ACPI objects conditional on the processors actually existing. Igor?

Signature · 7 lines
Do not meddle in the internals of kernels, for they are subtle and quick to panic.


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