linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [BUG] x86: failed to boot a kernel on a Ryzen machine
@ 2017-04-24  6:58 Satoru Takeuchi
  2017-04-24 11:07 ` Borislav Petkov
  2017-04-24 11:27 ` Satoru Takeuchi
  0 siblings, 2 replies; 18+ messages in thread
From: Satoru Takeuchi @ 2017-04-24  6:58 UTC (permalink / raw)
  To: x86, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 5817 bytes --]

Recently I bought a new Ryzen machine. When I tried to test v4.11-rc8 on it, it failed to boot
with the following panic log.

```
...
[    0.227720] raid6: sse2x1   gen()  7985 MB/s
[    0.295709] raid6: sse2x1   xor()  8181 MB/s
[    0.363706] raid6: sse2x2   gen() 17531 MB/s
[    0.431699] raid6: sse2x2   xor() 11098 MB/s
[    0.499693] raid6: sse2x4   gen() 18509 MB/s
[    0.567688] raid6: sse2x4   xor() 10177 MB/s
[    0.571692] invalid opcode: 0000 [#1] SMP
[    0.572312] Modules linked in:
[    0.572822] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.11.0-rc8-ktest #1
[    0.573734] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Ubuntu-1.8.2-1ubuntu1 04/01/2014
[    0.575040] task: ffff8f791e1c0000 task.stack: ffff9c72c00d0000
[    0.575865] RIP: 0010:raid6_avx21_gen_syndrome+0x3d/0x120
[    0.576634] RSP: 0018:ffff9c72c00d3d70 EFLAGS: 00010246
[    0.577376] RAX: 0000000000000000 RBX: ffff9c72c00d3dc0 RCX: 00000000fffedb97
[    0.578327] RDX: 0000000000000000 RSI: 0000000000001000 RDI: 0000000000000012
[    0.579283] RBP: ffff9c72c00d3da0 R08: 0000000000000000 R09: 00000000000000cd
[    0.580243] R10: 00000000fffedb86 R11: ffffffffa617008d R12: 0000000000001000
[    0.581211] R13: ffff8f791e39e000 R14: ffff8f791e39f000 R15: 0000000000000012
[    0.582163] FS:  0000000000000000(0000) GS:ffff8f791fc00000(0000) knlGS:0000000000000000
[    0.583324] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    0.584128] CR2: 0000000000000000 CR3: 000000001be09000 CR4: 00000000003006f0
[    0.585078] Call Trace:
[    0.594952]  raid6_select_algo+0x116/0x30b
[    0.595592]  ? libcrc32c_mod_init+0x2b/0x2b
[    0.596240]  do_one_initcall+0x53/0x1a0
[    0.596843]  ? parse_args+0x2cf/0x490
[    0.597421]  kernel_init_freeable+0x182/0x21c
[    0.598077]  ? rest_init+0x80/0x80
[    0.598626]  kernel_init+0xe/0x100
[    0.599175]  ret_from_fork+0x2c/0x40
[    0.599741] Code: 55 41 54 53 48 89 d3 48 8d 14 c5 00 00 00 00 41 89 ff 49 89 f4 48 83 ec 08 4c 8b 2c c3 4c 8b 74 13 08 48 89 55 d0 e8 53 ed a9 ff <c5> fd 6f 05 2b 2d 4e 00 c5 e5 ef db 4d 85 e4 48 8b 55 d0 0f 84
[    0.602215] RIP: raid6_avx21_gen_syndrome+0x3d/0x120 RSP: ffff9c72c00d3d70
[    0.603154] ---[ end trace 17ee01f86b8fc548 ]---
[    0.603850] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[    0.603850]
[    0.605276] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
...
```

This panic occured at lib/raid6/avx2.c#raid6_avx21_gen_syndrome() and this
function consists of many AVX instructions.

lib/raid6/avx2.c:
```
/*
 * Plain AVX2 implementation
 */
static void raid6_avx21_gen_syndrome(int disks, size_t bytes, void **ptrs)
{
	u8 **dptr = (u8 **)ptrs;
	u8 *p, *q;
	int d, z, z0;

	z0 = disks - 3;		/* Highest data disk */
	p = dptr[z0+1];		/* XOR parity */
	q = dptr[z0+2];		/* RS syndrome */

	kernel_fpu_begin();

	asm volatile("vmovdqa %0,%%ymm0" : : "m" (raid6_avx2_constants.x1d[0]));
	asm volatile("vpxor %ymm3,%ymm3,%ymm3");	/* Zero temp */

	for (d = 0; d < bytes; d += 32) {
		asm volatile("prefetchnta %0" : : "m" (dptr[z0][d]));
		asm volatile("vmovdqa %0,%%ymm2" : : "m" (dptr[z0][d]));/* P[0] */
		asm volatile("prefetchnta %0" : : "m" (dptr[z0-1][d]));
		asm volatile("vmovdqa %ymm2,%ymm4");/* Q[0] */
		asm volatile("vmovdqa %0,%%ymm6" : : "m" (dptr[z0-1][d]));
		for (z = z0-2; z >= 0; z--) {
			asm volatile("prefetchnta %0" : : "m" (dptr[z][d]));
			asm volatile("vpcmpgtb %ymm4,%ymm3,%ymm5");
			asm volatile("vpaddb %ymm4,%ymm4,%ymm4");
			asm volatile("vpand %ymm0,%ymm5,%ymm5");
			asm volatile("vpxor %ymm5,%ymm4,%ymm4");
			asm volatile("vpxor %ymm6,%ymm2,%ymm2");
			asm volatile("vpxor %ymm6,%ymm4,%ymm4");
			asm volatile("vmovdqa %0,%%ymm6" : : "m" (dptr[z][d]));
		}
		asm volatile("vpcmpgtb %ymm4,%ymm3,%ymm5");
		asm volatile("vpaddb %ymm4,%ymm4,%ymm4");
		asm volatile("vpand %ymm0,%ymm5,%ymm5");
		asm volatile("vpxor %ymm5,%ymm4,%ymm4");
		asm volatile("vpxor %ymm6,%ymm2,%ymm2");
		asm volatile("vpxor %ymm6,%ymm4,%ymm4");

		asm volatile("vmovntdq %%ymm2,%0" : "=m" (p[d]));
		asm volatile("vpxor %ymm2,%ymm2,%ymm2");
		asm volatile("vmovntdq %%ymm4,%0" : "=m" (q[d]));
		asm volatile("vpxor %ymm4,%ymm4,%ymm4");
	}

	asm volatile("sfence" : : : "memory");
	kernel_fpu_end();
}

```

This problem can be bypassed by the following patch.

```
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 2d44933..b589097 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -162,7 +162,7 @@ asinstr := $(call as-instr,fxsaveq (%rax),-DCONFIG_AS_FXSAVEQ=1)
 asinstr += $(call as-instr,pshufb %xmm0$(comma)%xmm0,-DCONFIG_AS_SSSE3=1)
 asinstr += $(call as-instr,crc32l %eax$(comma)%eax,-DCONFIG_AS_CRC32=1)
 avx_instr := $(call as-instr,vxorps %ymm0$(comma)%ymm1$(comma)%ymm2,-DCONFIG_AS_AVX=1)
-avx2_instr :=$(call as-instr,vpbroadcastb %xmm0$(comma)%ymm1,-DCONFIG_AS_AVX2=1)
+#avx2_instr :=$(call as-instr,vpbroadcastb %xmm0$(comma)%ymm1,-DCONFIG_AS_AVX2=1)
 avx512_instr :=$(call as-instr,vpmovm2b %k1$(comma)%zmm5,-DCONFIG_AS_AVX512=1)
 sha1_ni_instr :=$(call as-instr,sha1msg1 %xmm0$(comma)%xmm1,-DCONFIG_AS_SHA1_NI=1)
 sha256_ni_instr :=$(call as-instr,sha256msg1 %xmm0$(comma)%xmm1,-DCONFIG_AS_SHA256_NI=1)

```

I suspect that there is a problem about handling AVX2 in the linux kernel or in Ryzen.

# Build environent

## Hardware

CPU: Ryzen 1800x

## Software

- distro: Ubuntu 16.04 x86_64
- gcc: gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609

## Build target kernel version

linux v4.11-r8

## Test environment

## Hardware

A VM running on the above mentioned hardware.

## Software

- distro: Ubuntu 16.04

# Additional information

- .config is attached in this mail
- This problam also happens on v4.10
- When I tested v4.10 in my previous Core i5 machine, it succeeded to boot.

Thanks,
Satoru


[-- Attachment #2: dot_config.xz --]
[-- Type: application/octet-stream, Size: 24816 bytes --]

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

* Re: [BUG] x86: failed to boot a kernel on a Ryzen machine
  2017-04-24  6:58 [BUG] x86: failed to boot a kernel on a Ryzen machine Satoru Takeuchi
@ 2017-04-24 11:07 ` Borislav Petkov
  2017-04-24 12:39   ` Satoru Takeuchi
  2017-04-24 11:27 ` Satoru Takeuchi
  1 sibling, 1 reply; 18+ messages in thread
From: Borislav Petkov @ 2017-04-24 11:07 UTC (permalink / raw)
  To: Satoru Takeuchi; +Cc: x86, linux-kernel

On Mon, Apr 24, 2017 at 03:58:05PM +0900, Satoru Takeuchi wrote:
> Recently I bought a new Ryzen machine. When I tried to test v4.11-rc8 on it, it failed to boot
> with the following panic log.
> 
> ```
> ...
> [    0.227720] raid6: sse2x1   gen()  7985 MB/s
> [    0.295709] raid6: sse2x1   xor()  8181 MB/s
> [    0.363706] raid6: sse2x2   gen() 17531 MB/s
> [    0.431699] raid6: sse2x2   xor() 11098 MB/s
> [    0.499693] raid6: sse2x4   gen() 18509 MB/s
> [    0.567688] raid6: sse2x4   xor() 10177 MB/s
> [    0.571692] invalid opcode: 0000 [#1] SMP
> [    0.572312] Modules linked in:
> [    0.572822] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.11.0-rc8-ktest #1
> [    0.573734] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Ubuntu-1.8.2-1ubuntu1 04/01/2014
				^^^^^^^^^^^^^^

Next time your report a bug, say it is a guest on the *very* first line
of your report.

Now, how do you start your guest exactly? Full cmdline pls.

-- 
Regards/Gruss,
    Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.

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

* Re: [BUG] x86: failed to boot a kernel on a Ryzen machine
  2017-04-24  6:58 [BUG] x86: failed to boot a kernel on a Ryzen machine Satoru Takeuchi
  2017-04-24 11:07 ` Borislav Petkov
@ 2017-04-24 11:27 ` Satoru Takeuchi
  2017-04-25  7:45   ` Jon Masters
  1 sibling, 1 reply; 18+ messages in thread
From: Satoru Takeuchi @ 2017-04-24 11:27 UTC (permalink / raw)
  To: x86, linux-kernel, kvm

At Mon, 24 Apr 2017 15:58:05 +0900,
Satoru Takeuchi wrote:
> 
> [1  <text/plain; US-ASCII (7bit)>]
> Recently I bought a new Ryzen machine. When I tried to test v4.11-rc8 on it, it failed to boot
> with the following panic log.
> 
> ```
> ...
> [    0.227720] raid6: sse2x1   gen()  7985 MB/s
> [    0.295709] raid6: sse2x1   xor()  8181 MB/s
> [    0.363706] raid6: sse2x2   gen() 17531 MB/s
> [    0.431699] raid6: sse2x2   xor() 11098 MB/s
> [    0.499693] raid6: sse2x4   gen() 18509 MB/s
> [    0.567688] raid6: sse2x4   xor() 10177 MB/s
> [    0.571692] invalid opcode: 0000 [#1] SMP
> [    0.572312] Modules linked in:
> [    0.572822] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.11.0-rc8-ktest #1
> [    0.573734] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Ubuntu-1.8.2-1ubuntu1 04/01/2014
> [    0.575040] task: ffff8f791e1c0000 task.stack: ffff9c72c00d0000
> [    0.575865] RIP: 0010:raid6_avx21_gen_syndrome+0x3d/0x120
> [    0.576634] RSP: 0018:ffff9c72c00d3d70 EFLAGS: 00010246
> [    0.577376] RAX: 0000000000000000 RBX: ffff9c72c00d3dc0 RCX: 00000000fffedb97
> [    0.578327] RDX: 0000000000000000 RSI: 0000000000001000 RDI: 0000000000000012
> [    0.579283] RBP: ffff9c72c00d3da0 R08: 0000000000000000 R09: 00000000000000cd
> [    0.580243] R10: 00000000fffedb86 R11: ffffffffa617008d R12: 0000000000001000
> [    0.581211] R13: ffff8f791e39e000 R14: ffff8f791e39f000 R15: 0000000000000012
> [    0.582163] FS:  0000000000000000(0000) GS:ffff8f791fc00000(0000) knlGS:0000000000000000
> [    0.583324] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [    0.584128] CR2: 0000000000000000 CR3: 000000001be09000 CR4: 00000000003006f0
> [    0.585078] Call Trace:
> [    0.594952]  raid6_select_algo+0x116/0x30b
> [    0.595592]  ? libcrc32c_mod_init+0x2b/0x2b
> [    0.596240]  do_one_initcall+0x53/0x1a0
> [    0.596843]  ? parse_args+0x2cf/0x490
> [    0.597421]  kernel_init_freeable+0x182/0x21c
> [    0.598077]  ? rest_init+0x80/0x80
> [    0.598626]  kernel_init+0xe/0x100
> [    0.599175]  ret_from_fork+0x2c/0x40
> [    0.599741] Code: 55 41 54 53 48 89 d3 48 8d 14 c5 00 00 00 00 41 89 ff 49 89 f4 48 83 ec 08 4c 8b 2c c3 4c 8b 74 13 08 48 89 55 d0 e8 53 ed a9 ff <c5> fd 6f 05 2b 2d 4e 00 c5 e5 ef db 4d 85 e4 48 8b 55 d0 0f 84
> [    0.602215] RIP: raid6_avx21_gen_syndrome+0x3d/0x120 RSP: ffff9c72c00d3d70
> [    0.603154] ---[ end trace 17ee01f86b8fc548 ]---
> [    0.603850] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
> [    0.603850]
> [    0.605276] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
> ...
> ```
> 
> This panic occured at lib/raid6/avx2.c#raid6_avx21_gen_syndrome() and this
> function consists of many AVX instructions.
> 
> lib/raid6/avx2.c:
> ```
> /*
>  * Plain AVX2 implementation
>  */
> static void raid6_avx21_gen_syndrome(int disks, size_t bytes, void **ptrs)
> {
> 	u8 **dptr = (u8 **)ptrs;
> 	u8 *p, *q;
> 	int d, z, z0;
> 
> 	z0 = disks - 3;		/* Highest data disk */
> 	p = dptr[z0+1];		/* XOR parity */
> 	q = dptr[z0+2];		/* RS syndrome */
> 
> 	kernel_fpu_begin();
> 
> 	asm volatile("vmovdqa %0,%%ymm0" : : "m" (raid6_avx2_constants.x1d[0]));
> 	asm volatile("vpxor %ymm3,%ymm3,%ymm3");	/* Zero temp */
> 
> 	for (d = 0; d < bytes; d += 32) {
> 		asm volatile("prefetchnta %0" : : "m" (dptr[z0][d]));
> 		asm volatile("vmovdqa %0,%%ymm2" : : "m" (dptr[z0][d]));/* P[0] */
> 		asm volatile("prefetchnta %0" : : "m" (dptr[z0-1][d]));
> 		asm volatile("vmovdqa %ymm2,%ymm4");/* Q[0] */
> 		asm volatile("vmovdqa %0,%%ymm6" : : "m" (dptr[z0-1][d]));
> 		for (z = z0-2; z >= 0; z--) {
> 			asm volatile("prefetchnta %0" : : "m" (dptr[z][d]));
> 			asm volatile("vpcmpgtb %ymm4,%ymm3,%ymm5");
> 			asm volatile("vpaddb %ymm4,%ymm4,%ymm4");
> 			asm volatile("vpand %ymm0,%ymm5,%ymm5");
> 			asm volatile("vpxor %ymm5,%ymm4,%ymm4");
> 			asm volatile("vpxor %ymm6,%ymm2,%ymm2");
> 			asm volatile("vpxor %ymm6,%ymm4,%ymm4");
> 			asm volatile("vmovdqa %0,%%ymm6" : : "m" (dptr[z][d]));
> 		}
> 		asm volatile("vpcmpgtb %ymm4,%ymm3,%ymm5");
> 		asm volatile("vpaddb %ymm4,%ymm4,%ymm4");
> 		asm volatile("vpand %ymm0,%ymm5,%ymm5");
> 		asm volatile("vpxor %ymm5,%ymm4,%ymm4");
> 		asm volatile("vpxor %ymm6,%ymm2,%ymm2");
> 		asm volatile("vpxor %ymm6,%ymm4,%ymm4");
> 
> 		asm volatile("vmovntdq %%ymm2,%0" : "=m" (p[d]));
> 		asm volatile("vpxor %ymm2,%ymm2,%ymm2");
> 		asm volatile("vmovntdq %%ymm4,%0" : "=m" (q[d]));
> 		asm volatile("vpxor %ymm4,%ymm4,%ymm4");
> 	}
> 
> 	asm volatile("sfence" : : : "memory");
> 	kernel_fpu_end();
> }
> 
> ```
> 
> This problem can be bypassed by the following patch.
> 
> ```
> diff --git a/arch/x86/Makefile b/arch/x86/Makefile
> index 2d44933..b589097 100644
> --- a/arch/x86/Makefile
> +++ b/arch/x86/Makefile
> @@ -162,7 +162,7 @@ asinstr := $(call as-instr,fxsaveq (%rax),-DCONFIG_AS_FXSAVEQ=1)
>  asinstr += $(call as-instr,pshufb %xmm0$(comma)%xmm0,-DCONFIG_AS_SSSE3=1)
>  asinstr += $(call as-instr,crc32l %eax$(comma)%eax,-DCONFIG_AS_CRC32=1)
>  avx_instr := $(call as-instr,vxorps %ymm0$(comma)%ymm1$(comma)%ymm2,-DCONFIG_AS_AVX=1)
> -avx2_instr :=$(call as-instr,vpbroadcastb %xmm0$(comma)%ymm1,-DCONFIG_AS_AVX2=1)
> +#avx2_instr :=$(call as-instr,vpbroadcastb %xmm0$(comma)%ymm1,-DCONFIG_AS_AVX2=1)
>  avx512_instr :=$(call as-instr,vpmovm2b %k1$(comma)%zmm5,-DCONFIG_AS_AVX512=1)
>  sha1_ni_instr :=$(call as-instr,sha1msg1 %xmm0$(comma)%xmm1,-DCONFIG_AS_SHA1_NI=1)
>  sha256_ni_instr :=$(call as-instr,sha256msg1 %xmm0$(comma)%xmm1,-DCONFIG_AS_SHA256_NI=1)
> 
> ```
> 
> I suspect that there is a problem about handling AVX2 in the linux kernel or in Ryzen.
> 
> # Build environent
> 
> ## Hardware
> 
> CPU: Ryzen 1800x
> 
> ## Software
> 
> - distro: Ubuntu 16.04 x86_64
> - gcc: gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
> 
> ## Build target kernel version
> 
> linux v4.11-r8
> 
> ## Test environment
> 
> ## Hardware
> 
> A VM running on the above mentioned hardware.
> 
> ## Software
> 
> - distro: Ubuntu 16.04
> 
> # Additional information
> 
> - .config is attached in this mail
> - This problam also happens on v4.10
> - When I tested v4.10 in my previous Core i5 machine, it succeeded to boot.

Add "kvm@vger.kernel.org" to this thread.

Here is the more additional information. I suspect that this is a problem
related to virtualization.

I ran the following program simulates raid6_avx21_gen_syndrome() in kernel
both on the host and on the guest.

```
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <err.h>

#define PAGESIZE 4096
#define DISKS 4

typedef unsigned char u8;
typedef unsigned long u64;

static const struct raid6_avx2_constants {
	u64 x1d[4];
} raid6_avx2_constants __attribute__((aligned(32))) = {
	{ 0x1d1d1d1d1d1d1d1dULL, 0x1d1d1d1d1d1d1d1dULL,
		  0x1d1d1d1d1d1d1d1dULL, 0x1d1d1d1d1d1d1d1dULL,},
};

static void raid6_avx21_gen_syndrome(int disks, size_t bytes, void **ptrs)
{
	u8 **dptr = (u8 **)ptrs;
	u8 *p, *q;
	int d, z, z0;

	z0 = disks - 3;		/* Highest data disk */
	p = dptr[z0+1];		/* XOR parity */
	q = dptr[z0+2];		/* RS syndrome */
	
	asm volatile("vmovdqa %0,%%ymm0" : : "m" (raid6_avx2_constants.x1d[0]));
	asm volatile("vpxor %ymm3,%ymm3,%ymm3");	/* Zero temp */

	for (d = 0; d < bytes; d += 32) {
		asm volatile("prefetchnta %0" : : "m" (dptr[z0][d]));
		asm volatile("vmovdqa %0,%%ymm2" : : "m" (dptr[z0][d]));/* P[0] */
		asm volatile("prefetchnta %0" : : "m" (dptr[z0-1][d]));
		asm volatile("vmovdqa %ymm2,%ymm4");/* Q[0] */
		asm volatile("vmovdqa %0,%%ymm6" : : "m" (dptr[z0-1][d]));
		for (z = z0-2; z >= 0; z--) {
			asm volatile("prefetchnta %0" : : "m" (dptr[z][d]));
			asm volatile("vpcmpgtb %ymm4,%ymm3,%ymm5");
			asm volatile("vpaddb %ymm4,%ymm4,%ymm4");
			asm volatile("vpand %ymm0,%ymm5,%ymm5");
			asm volatile("vpxor %ymm5,%ymm4,%ymm4");
			asm volatile("vpxor %ymm6,%ymm2,%ymm2");
			asm volatile("vpxor %ymm6,%ymm4,%ymm4");
			asm volatile("vmovdqa %0,%%ymm6" : : "m" (dptr[z][d]));
		}
		asm volatile("vpcmpgtb %ymm4,%ymm3,%ymm5");
		asm volatile("vpaddb %ymm4,%ymm4,%ymm4");
		asm volatile("vpand %ymm0,%ymm5,%ymm5");
		asm volatile("vpxor %ymm5,%ymm4,%ymm4");
		asm volatile("vpxor %ymm6,%ymm2,%ymm2");
		asm volatile("vpxor %ymm6,%ymm4,%ymm4");

		asm volatile("vmovntdq %%ymm2,%0" : "=m" (p[d]));
		asm volatile("vpxor %ymm2,%ymm2,%ymm2");
		asm volatile("vmovntdq %%ymm4,%0" : "=m" (q[d]));
		asm volatile("vpxor %ymm4,%ymm4,%ymm4");
	}

	asm volatile("sfence" : : : "memory");
}

static char *data[DISKS];

int main(void)
{
	int i;
	for (i = 0; i < DISKS; i++)
		if ((errno = posix_memalign((void **)&data[i], PAGESIZE, PAGESIZE))) {
			err(EXIT_FAILURE, "posix_memalign() failed");
		}
	raid6_avx21_gen_syndrome(DISKS, PAGESIZE, (void **)data);
	exit(EXIT_SUCCESS);
}
									
```

```
$ cc -O2 -o test test.c
```

It succeeded on the host and failed with "Illegal Instruction" on the guest.
There is avx2 flag on /proc/cpuinfo of both the host and the guest.

Here is the result of disassemble of both the kernel code and the above mentioned
user program.

kernel:
```
ffffffff8159a7b0 <raid6_avx21_gen_syndrome>:
ffffffff8159a7b0:       8d 47 fd                lea    -0x3(%rdi),%eax
ffffffff8159a7b3:       55                      push   %rbp
ffffffff8159a7b4:       48 98                   cltq
ffffffff8159a7b6:       48 89 e5                mov    %rsp,%rbp
ffffffff8159a7b9:       41 57                   push   %r15
ffffffff8159a7bb:       48 83 c0 01             add    $0x1,%rax
ffffffff8159a7bf:       41 56                   push   %r14
ffffffff8159a7c1:       41 55                   push   %r13
ffffffff8159a7c3:       41 54                   push   %r12
ffffffff8159a7c5:       53                      push   %rbx
ffffffff8159a7c6:       48 89 d3                mov    %rdx,%rbx
ffffffff8159a7c9:       48 8d 14 c5 00 00 00    lea    0x0(,%rax,8),%rdx
ffffffff8159a7d0:       00
ffffffff8159a7d1:       41 89 ff                mov    %edi,%r15d
ffffffff8159a7d4:       49 89 f4                mov    %rsi,%r12
ffffffff8159a7d7:       48 83 ec 08             sub    $0x8,%rsp
ffffffff8159a7db:       4c 8b 2c c3             mov    (%rbx,%rax,8),%r13
ffffffff8159a7df:       4c 8b 74 13 08          mov    0x8(%rbx,%rdx,1),%r14
ffffffff8159a7e4:       48 89 55 d0             mov    %rdx,-0x30(%rbp)
ffffffff8159a7e8:       e8 53 ed a9 ff          callq  ffffffff81039540 <kernel_fpu_begin>
ffffffff8159a7ed:       c5 fd 6f 05 2b 2d 4e    vmovdqa 0x4e2d2b(%rip),%ymm0        # ffffffff81a7d520 <raid6_avx2_constants>
ffffffff8159a7f4:       00
ffffffff8159a7f5:       c5 e5 ef db             vpxor  %ymm3,%ymm3,%ymm3
ffffffff8159a7f9:       4d 85 e4                test   %r12,%r12
ffffffff8159a7fc:       48 8b 55 d0             mov    -0x30(%rbp),%rdx
ffffffff8159a800:       0f 84 a7 00 00 00       je     ffffffff8159a8ad <raid6_avx21_gen_syndrome+0xfd>
ffffffff8159a806:       45 8d 47 fb             lea    -0x5(%r15),%r8d
ffffffff8159a80a:       4c 8d 4c 13 f8          lea    -0x8(%rbx,%rdx,1),%r9
ffffffff8159a80f:       48 8d 74 13 f0          lea    -0x10(%rbx,%rdx,1),%rsi
ffffffff8159a814:       31 ff                   xor    %edi,%edi
ffffffff8159a816:       31 d2                   xor    %edx,%edx
ffffffff8159a818:       48 89 f8                mov    %rdi,%rax
ffffffff8159a81b:       49 03 01                add    (%r9),%rax
ffffffff8159a81e:       0f 18 00                prefetchnta (%rax)
ffffffff8159a821:       c5 fd 6f 10             vmovdqa (%rax),%ymm2
ffffffff8159a825:       48 89 f8                mov    %rdi,%rax
ffffffff8159a828:       48 03 06                add    (%rsi),%rax
ffffffff8159a82b:       0f 18 00                prefetchnta (%rax)
ffffffff8159a82e:       c5 fd 6f e2             vmovdqa %ymm2,%ymm4
ffffffff8159a832:       c5 fd 6f 30             vmovdqa (%rax),%ymm6
ffffffff8159a836:       45 85 c0                test   %r8d,%r8d
ffffffff8159a839:       78 36                   js     ffffffff8159a871 <raid6_avx21_gen_syndrome+0xc1>
ffffffff8159a83b:       44 89 c0                mov    %r8d,%eax
ffffffff8159a83e:       48 63 c8                movslq %eax,%rcx
ffffffff8159a841:       49 89 fa                mov    %rdi,%r10
ffffffff8159a844:       4c 03 14 cb             add    (%rbx,%rcx,8),%r10
ffffffff8159a848:       41 0f 18 02             prefetchnta (%r10)
ffffffff8159a84c:       c5 e5 64 ec             vpcmpgtb %ymm4,%ymm3,%ymm5
ffffffff8159a850:       c5 dd fc e4             vpaddb %ymm4,%ymm4,%ymm4
ffffffff8159a854:       c5 d5 db e8             vpand  %ymm0,%ymm5,%ymm5
ffffffff8159a858:       c5 dd ef e5             vpxor  %ymm5,%ymm4,%ymm4
ffffffff8159a85c:       c5 ed ef d6             vpxor  %ymm6,%ymm2,%ymm2
ffffffff8159a860:       c5 dd ef e6             vpxor  %ymm6,%ymm4,%ymm4
ffffffff8159a864:       c4 c1 7d 6f 32          vmovdqa (%r10),%ymm6
ffffffff8159a869:       83 e8 01                sub    $0x1,%eax
ffffffff8159a86c:       83 f8 ff                cmp    $0xffffffff,%eax
ffffffff8159a86f:       75 cd                   jne    ffffffff8159a83e <raid6_avx21_gen_syndrome+0x8e>
ffffffff8159a871:       c5 e5 64 ec             vpcmpgtb %ymm4,%ymm3,%ymm5
ffffffff8159a875:       c5 dd fc e4             vpaddb %ymm4,%ymm4,%ymm4
ffffffff8159a879:       c5 d5 db e8             vpand  %ymm0,%ymm5,%ymm5
ffffffff8159a87d:       c5 dd ef e5             vpxor  %ymm5,%ymm4,%ymm4
ffffffff8159a881:       c5 ed ef d6             vpxor  %ymm6,%ymm2,%ymm2
ffffffff8159a885:       c5 dd ef e6             vpxor  %ymm6,%ymm4,%ymm4
ffffffff8159a889:       c4 c1 7d e7 54 3d 00    vmovntdq %ymm2,0x0(%r13,%rdi,1)
ffffffff8159a890:       c5 ed ef d2             vpxor  %ymm2,%ymm2,%ymm2
ffffffff8159a894:       c4 c1 7d e7 24 3e       vmovntdq %ymm4,(%r14,%rdi,1)
ffffffff8159a89a:       c5 dd ef e4             vpxor  %ymm4,%ymm4,%ymm4
ffffffff8159a89e:       83 c2 20                add    $0x20,%edx
ffffffff8159a8a1:       48 63 fa                movslq %edx,%rdi
ffffffff8159a8a4:       4c 39 e7                cmp    %r12,%rdi
ffffffff8159a8a7:       0f 82 6b ff ff ff       jb     ffffffff8159a818 <raid6_avx21_gen_syndrome+0x68>
ffffffff8159a8ad:       0f ae f8                sfence
ffffffff8159a8b0:       e8 ab f2 a9 ff          callq  ffffffff81039b60 <kernel_fpu_end>
ffffffff8159a8b5:       48 83 c4 08             add    $0x8,%rsp
ffffffff8159a8b9:       5b                      pop    %rbx
ffffffff8159a8ba:       41 5c                   pop    %r12
ffffffff8159a8bc:       41 5d                   pop    %r13
ffffffff8159a8be:       41 5e                   pop    %r14
ffffffff8159a8c0:       41 5f                   pop    %r15
ffffffff8159a8c2:       5d                      pop    %rbp
ffffffff8159a8c3:       c3                      retq
ffffffff8159a8c4:       66 90                   xchg   %ax,%ax
ffffffff8159a8c6:       66 2e 0f 1f 84 00 00    nopw   %cs:0x0(%rax,%rax,1)
ffffffff8159a8cd:       00 00 00
```

user:
```
...
0000000000400510 <main>:
  400510:	55                   	push   %rbp
  400511:	53                   	push   %rbx
  400512:	bb 80 10 60 00       	mov    $0x601080,%ebx
  400517:	48 83 ec 08          	sub    $0x8,%rsp
  40051b:	e8 90 ff ff ff       	callq  4004b0 <__errno_location@plt>
  400520:	48 89 c5             	mov    %rax,%rbp
  400523:	ba 00 10 00 00       	mov    $0x1000,%edx
  400528:	be 00 10 00 00       	mov    $0x1000,%esi
  40052d:	48 89 df             	mov    %rbx,%rdi
  400530:	e8 bb ff ff ff       	callq  4004f0 <posix_memalign@plt>
  400535:	85 c0                	test   %eax,%eax
  400537:	74 17                	je     400550 <main+0x40>
  400539:	89 45 00             	mov    %eax,0x0(%rbp)
  40053c:	be 84 07 40 00       	mov    $0x400784,%esi
  400541:	bf 01 00 00 00       	mov    $0x1,%edi
  400546:	31 c0                	xor    %eax,%eax
  400548:	e8 83 ff ff ff       	callq  4004d0 <err@plt>
  40054d:	0f 1f 00             	nopl   (%rax)
  400550:	48 83 c3 08          	add    $0x8,%rbx
  400554:	c7 45 00 00 00 00 00 	movl   $0x0,0x0(%rbp)
  40055b:	48 81 fb a0 10 60 00 	cmp    $0x6010a0,%rbx
  400562:	75 bf                	jne    400523 <main+0x13>
  400564:	48 8b 35 25 0b 20 00 	mov    0x200b25(%rip),%rsi        # 601090 <data+0x10>
  40056b:	48 8b 0d 26 0b 20 00 	mov    0x200b26(%rip),%rcx        # 601098 <data+0x18>
  400572:	c5 fd 6f 05 26 02 00 	vmovdqa 0x226(%rip),%ymm0        # 4007a0 <raid6_avx2_constants>
  400579:	00 
  40057a:	c5 e5 ef db          	vpxor  %ymm3,%ymm3,%ymm3
  40057e:	31 c0                	xor    %eax,%eax
  400580:	48 89 c2             	mov    %rax,%rdx
  400583:	48 03 15 fe 0a 20 00 	add    0x200afe(%rip),%rdx        # 601088 <data+0x8>
  40058a:	0f 18 02             	prefetchnta (%rdx)
  40058d:	c5 fd 6f 12          	vmovdqa (%rdx),%ymm2
  400591:	48 89 c2             	mov    %rax,%rdx
  400594:	48 03 15 e5 0a 20 00 	add    0x200ae5(%rip),%rdx        # 601080 <data>
  40059b:	0f 18 02             	prefetchnta (%rdx)
  40059e:	c5 fd 6f e2          	vmovdqa %ymm2,%ymm4
  4005a2:	c5 fd 6f 32          	vmovdqa (%rdx),%ymm6
  4005a6:	c5 e5 64 ec          	vpcmpgtb %ymm4,%ymm3,%ymm5
  4005aa:	c5 dd fc e4          	vpaddb %ymm4,%ymm4,%ymm4
  4005ae:	c5 d5 db e8          	vpand  %ymm0,%ymm5,%ymm5
  4005b2:	c5 dd ef e5          	vpxor  %ymm5,%ymm4,%ymm4
  4005b6:	c5 ed ef d6          	vpxor  %ymm6,%ymm2,%ymm2
  4005ba:	c5 dd ef e6          	vpxor  %ymm6,%ymm4,%ymm4
  4005be:	c5 fd e7 14 06       	vmovntdq %ymm2,(%rsi,%rax,1)
  4005c3:	c5 ed ef d2          	vpxor  %ymm2,%ymm2,%ymm2
  4005c7:	c5 fd e7 24 01       	vmovntdq %ymm4,(%rcx,%rax,1)
  4005cc:	c5 dd ef e4          	vpxor  %ymm4,%ymm4,%ymm4
  4005d0:	48 83 c0 20          	add    $0x20,%rax
  4005d4:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
  4005da:	75 a4                	jne    400580 <main+0x70>
  4005dc:	0f ae f8             	sfence 
  4005df:	31 ff                	xor    %edi,%edi
  4005e1:	e8 fa fe ff ff       	callq  4004e0 <exit@plt>
  4005e6:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  4005ed:	00 00 00 

...
```

Thanks,
Satoru

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

* Re: [BUG] x86: failed to boot a kernel on a Ryzen machine
  2017-04-24 11:07 ` Borislav Petkov
@ 2017-04-24 12:39   ` Satoru Takeuchi
  2017-04-24 12:48     ` Borislav Petkov
  0 siblings, 1 reply; 18+ messages in thread
From: Satoru Takeuchi @ 2017-04-24 12:39 UTC (permalink / raw)
  To: Borislav Petkov; +Cc: Satoru Takeuchi, x86, linux-kernel

At Mon, 24 Apr 2017 13:07:53 +0200,
Borislav Petkov wrote:
> 
> On Mon, Apr 24, 2017 at 03:58:05PM +0900, Satoru Takeuchi wrote:
> > Recently I bought a new Ryzen machine. When I tried to test v4.11-rc8 on it, it failed to boot
> > with the following panic log.
> > 
> > ```
> > ...
> > [    0.227720] raid6: sse2x1   gen()  7985 MB/s
> > [    0.295709] raid6: sse2x1   xor()  8181 MB/s
> > [    0.363706] raid6: sse2x2   gen() 17531 MB/s
> > [    0.431699] raid6: sse2x2   xor() 11098 MB/s
> > [    0.499693] raid6: sse2x4   gen() 18509 MB/s
> > [    0.567688] raid6: sse2x4   xor() 10177 MB/s
> > [    0.571692] invalid opcode: 0000 [#1] SMP
> > [    0.572312] Modules linked in:
> > [    0.572822] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.11.0-rc8-ktest #1
> > [    0.573734] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Ubuntu-1.8.2-1ubuntu1 04/01/2014
> 				^^^^^^^^^^^^^^
> 
> Next time your report a bug, say it is a guest on the *very* first line
> of your report.

I'm very sorry.

> 
> Now, how do you start your guest exactly? Full cmdline pls.

I used the following auto-test tool (its backend is ktest).

https://github.com/satoru-takeuchi/elkdat

This problem can be reproduced by the following command on Ubuntu 16.04.

```
$ sudo apt-get install git vagrant libvirt-bin libvirt-dev kernel-package qemu-kvm libssl-dev libncurses5-dev
...
$ sudo usermod -aG libvirt <username>
```

Log out and back in here.

```
$ sudo sed -i'' "s/Specification.all = nil/Specification.reset/" /usr/lib/ruby/vendor_ruby/vagrant/bundler.rb         # See https://github.com/vagrant-libvirt/vagrant-libvirt/issues/575 for more details about this patching
$ vagrant plugin install vagrant-libvirt
$ git clone https://github.com/satoru-takeuchi/elkdat.git
...
$ cp -r /path/to/linux/source elkdat/linux
$ cd elkdat
$ ./init                                     # start guest
...
$ pushd linux
...
$ git checkout v4.11-rc8
...
$ popd
...
$ ./test boot                                # build and boot v4.11-rc8
...                                          # kernel panic happens here
```

The core of the starting guest process of above mentioned tools is as follows.

1. Add the vagrant box for the guest VM

```
$ vagrant box add elastic/ubuntu-16.04-x86_64 --provider libvirt
...
```

2. Start the VM with the following Vagrantfile.

```
$ cd elkdat
$ vagrant up
```

The summary of Vagrantfile is here.

```
Vagrant.configure("2") do |config|
  ...
  config.vm.define :ktest do |vm|
    vm.vm.box = "elastic/ubuntu-16.04-x86_64"
    vm.vm.synced_folder './', '/vagrant', type: 'rsync'
    vm.vm.provider :libvirt do |domain|
      domain.cpus = 2
    end
  end
  ...
end

```

Thanks,
Satoru


> 
> -- 
> Regards/Gruss,
>     Boris.
> 
> Good mailing practices for 400: avoid top-posting and trim the reply.

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

* Re: [BUG] x86: failed to boot a kernel on a Ryzen machine
  2017-04-24 12:39   ` Satoru Takeuchi
@ 2017-04-24 12:48     ` Borislav Petkov
  2017-04-24 13:09       ` Satoru Takeuchi
  0 siblings, 1 reply; 18+ messages in thread
From: Borislav Petkov @ 2017-04-24 12:48 UTC (permalink / raw)
  To: Satoru Takeuchi; +Cc: x86, linux-kernel

On Mon, Apr 24, 2017 at 09:39:12PM +0900, Satoru Takeuchi wrote:
> I used the following auto-test tool (its backend is ktest).
> 
> https://github.com/satoru-takeuchi/elkdat
> 
> This problem can be reproduced by the following command on Ubuntu 16.04.
> 
> ```
> $ sudo apt-get install git vagrant libvirt-bin libvirt-dev kernel-package qemu-kvm libssl-dev libncurses5-dev

Can you minimize that reproducer? I.e, can you dump only the qemu
command line options from this setup?

They're enough to be able to start a guest with your config without me
having to install all that other stuff.

Thanks.

-- 
Regards/Gruss,
    Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.

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

* Re: [BUG] x86: failed to boot a kernel on a Ryzen machine
  2017-04-24 12:48     ` Borislav Petkov
@ 2017-04-24 13:09       ` Satoru Takeuchi
  2017-04-25  9:36         ` Borislav Petkov
  2017-04-25 14:58         ` Masami Hiramatsu
  0 siblings, 2 replies; 18+ messages in thread
From: Satoru Takeuchi @ 2017-04-24 13:09 UTC (permalink / raw)
  To: Borislav Petkov; +Cc: Satoru Takeuchi, x86, linux-kernel

At Mon, 24 Apr 2017 14:48:46 +0200,
Borislav Petkov wrote:
> 
> On Mon, Apr 24, 2017 at 09:39:12PM +0900, Satoru Takeuchi wrote:
> > I used the following auto-test tool (its backend is ktest).
> > 
> > https://github.com/satoru-takeuchi/elkdat
> > 
> > This problem can be reproduced by the following command on Ubuntu 16.04.
> > 
> > ```
> > $ sudo apt-get install git vagrant libvirt-bin libvirt-dev kernel-package qemu-kvm libssl-dev libncurses5-dev
> 
> Can you minimize that reproducer? I.e, can you dump only the qemu
> command line options from this setup?
> 
> They're enough to be able to start a guest with your config without me
> having to install all that other stuff.

OK. Is it sufficient information?

```
qemu-system-x86_64 -enable-kvm -name elkdat_ktest -S -machine pc-i440fx-xenial,accel=kvm,usb=off -cpu Opteron_G3,+smap,+adx,+rdseed,+bmi2,+smep,+avx2,+bmi1,+fsgsbase,+perfctr_nb,+perfctr_core,+topoext,+tce,+wdt,+skinit,+osvw,+3dnowprefetch,+cr8legacy,+extapic,+cmp_legacy,+pdpe1gb,+fxsr_opt,+mmxext,+rdrand,+f16c,+avx,+osxsave,+xsave,+aes,+movbe,+sse4.2,+sse4.1,+fma,+ssse3,+pclmuldq,+ht,+vme -m 512 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -uuid 12de0e96-5d01-4ab0-b0b3-165f55999960 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-elkdat_ktest/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/var/lib/libvirt/images/elkdat_ktest.img,format=qcow2,if=none,id=drive-virtio-disk0 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=26,id=hostnet0,vhost=on,vhostfd=28 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:e4:6f:3e,bus=pci.0,addr=0x5 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -vnc 127.0.0.1:0 -k en-us -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4 -msg timestamp=on
```

Thanks,
Satoru

> 
> Thanks.
> 
> -- 
> Regards/Gruss,
>     Boris.
> 
> Good mailing practices for 400: avoid top-posting and trim the reply.

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

* Re: [BUG] x86: failed to boot a kernel on a Ryzen machine
  2017-04-24 11:27 ` Satoru Takeuchi
@ 2017-04-25  7:45   ` Jon Masters
  0 siblings, 0 replies; 18+ messages in thread
From: Jon Masters @ 2017-04-25  7:45 UTC (permalink / raw)
  To: Satoru Takeuchi, x86, linux-kernel, kvm

On 04/24/2017 07:27 AM, Satoru Takeuchi wrote:
> At Mon, 24 Apr 2017 15:58:05 +0900,
> Satoru Takeuchi wrote:
>>
>> [1  <text/plain; US-ASCII (7bit)>]
>> Recently I bought a new Ryzen machine. When I tried to test v4.11-rc8 on it, it failed to boot
>> with the following panic log.

Side note - have forwarded to the AMD Ryzen engineering team.

Jon.

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

* Re: [BUG] x86: failed to boot a kernel on a Ryzen machine
  2017-04-24 13:09       ` Satoru Takeuchi
@ 2017-04-25  9:36         ` Borislav Petkov
  2017-04-26  7:48           ` Paolo Bonzini
  2017-04-25 14:58         ` Masami Hiramatsu
  1 sibling, 1 reply; 18+ messages in thread
From: Borislav Petkov @ 2017-04-25  9:36 UTC (permalink / raw)
  To: Satoru Takeuchi, Paolo Bonzini; +Cc: x86, linux-kernel, kvm ML

On Mon, Apr 24, 2017 at 10:09:04PM +0900, Satoru Takeuchi wrote:
> At Mon, 24 Apr 2017 14:48:46 +0200,
> Borislav Petkov wrote:
> > 
> > On Mon, Apr 24, 2017 at 09:39:12PM +0900, Satoru Takeuchi wrote:
> > > I used the following auto-test tool (its backend is ktest).
> > > 
> > > https://github.com/satoru-takeuchi/elkdat
> > > 
> > > This problem can be reproduced by the following command on Ubuntu 16.04.
> > > 
> > > ```
> > > $ sudo apt-get install git vagrant libvirt-bin libvirt-dev kernel-package qemu-kvm libssl-dev libncurses5-dev
> > 
> > Can you minimize that reproducer? I.e, can you dump only the qemu
> > command line options from this setup?
> > 
> > They're enough to be able to start a guest with your config without me
> > having to install all that other stuff.
> 
> OK. Is it sufficient information?
> 
> ```
> qemu-system-x86_64 -enable-kvm -name elkdat_ktest -S -machine pc-i440fx-xenial,accel=kvm,usb=off -cpu Opteron_G3,+smap,+adx,+rdseed,+bmi2,+smep,+avx2,+bmi1,+fsgsbase,+perfctr_nb,+perfctr_core,+topoext,+tce,+wdt,+skinit,+osvw,+3dnowprefetch,+cr8legacy,+extapic,+cmp_legacy,+pdpe1gb,+fxsr_opt,+mmxext,+rdrand,+f16c,+avx,+osxsave,+xsave,+aes,+movbe,+sse4.2,+sse4.1,+fma,+ssse3,+pclmuldq,+ht,+vme -m 512 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -uuid 12de0e96-5d01-4ab0-b0b3-165f55999960 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-elkdat_ktest/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/var/lib/libvirt/images/elkdat_ktest.img,format=qcow2,if=none,id=drive-virtio-disk0 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=26,id=hostnet0,vhost=on,vhostfd=28 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:e4:6f:3e,bus=pci.0,addr=0x5 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -vnc 127.0.0.1:0 -k en-us -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4 -msg timestamp=on
> ```

Yes, thanks, I was able to reproduce:

[    0.488015] raid6: sse2x1   gen()  2073 MB/s
[    0.560008] raid6: sse2x1   xor()  2670 MB/s
[    0.628022] raid6: sse2x2   gen()  3273 MB/s
[    0.696007] raid6: sse2x2   xor()  3752 MB/s
[    0.764015] raid6: sse2x4   gen()  5532 MB/s
[    0.832009] raid6: sse2x4   xor()  3736 MB/s
[    0.836019] invalid opcode: 0000 [#1] SMP
[    0.838532] Modules linked in:
[    0.840000] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.11.0-rc8 #2
[    0.840000] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.10.2-0-g5f4c7b1-prebuilt.qemu-project.org 04/01/2014
[    0.840000] task: ffff9c01bb828000 task.stack: ffffb1f68031c000
[    0.840000] RIP: 0010:raid6_avx21_gen_syndrome+0x3d/0x120
[    0.840000] RSP: 0018:ffffb1f68031fd78 EFLAGS: 00010246
[    0.840000] RAX: 0000000080000000 RBX: ffffb1f68031fdc8 RCX: 00000000fffedbd9
[    0.840000] RDX: 0000000000000080 RSI: 0000000000001000 RDI: 0000000000000012
[    0.840000] RBP: ffffb1f68031fda8 R08: ffffffff90a7d4e0 R09: 00000000000000f0
[    0.840000] R10: 00000000fffedbc8 R11: 0000000091171001 R12: 0000000000001000
[    0.840000] R13: ffff9c01bb444000 R14: ffff9c01bb445000 R15: 0000000000000012
[    0.840000] FS:  0000000000000000(0000) GS:ffff9c01bec00000(0000) knlGS:0000000000000000
[    0.840000] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    0.840000] CR2: 0000000000000000 CR3: 0000000072e09000 CR4: 00000000003006f0
[    0.840000] Call Trace:
[    0.840000]  raid6_select_algo+0x112/0x30f
[    0.840000]  ? libcrc32c_mod_init+0x2c/0x2c
[    0.840000]  ? set_debug_rodata+0x12/0x12
[    0.840000]  do_one_initcall+0x52/0x1a0
[    0.840000]  ? set_debug_rodata+0x12/0x12
[    0.840000]  kernel_init_freeable+0x178/0x200
[    0.840000]  ? rest_init+0x80/0x80
[    0.840000]  kernel_init+0xe/0x100
[    0.840000]  ret_from_fork+0x2c/0x40
[    0.840000] Code: 55 41 54 53 48 89 d3 48 8d 14 c5 00 00 00 00 41 89 ff 49 89 f4 48 83 ec 08 4c 8b 2c c3 4c 8b 74 13 08 48 89 55 d0 e8 73 ca a9 ff <c5> fd 6f 05 eb 09 4e 00 c5 e5 ef db 4d 85 e4 48 8b 55 d0 0f 84 
[    0.840000] RIP: raid6_avx21_gen_syndrome+0x3d/0x120 RSP: ffffb1f68031fd78
[    0.840009] ---[ end trace 5db62c95950cdfd9 ]---
[    0.844549] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[    0.844549] 
[    0.848000] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[    0.848000]

Looking at CR4: 00000000003006f0, it doesn't have OSXSAVE set. I.e., bit
18. And when that bit is not set, VMOVDQA raises an #UD.

And for some reason qemu doesn't like it even if you request that bit with
+osxsave:

warning: host doesn't support requested feature: CPUID.01H:ECX.osxsave [bit 27]

Even though the corresponding bit in CPUID on the host is set:

0x00000001: EAX=0x00800f00, EBX=0x40200800, ECX=0x7ed8320b, EDX=0x178bfbff
						   ^
Paolo, any thoughts?

-- 
Regards/Gruss,
    Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.

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

* Re: [BUG] x86: failed to boot a kernel on a Ryzen machine
  2017-04-24 13:09       ` Satoru Takeuchi
  2017-04-25  9:36         ` Borislav Petkov
@ 2017-04-25 14:58         ` Masami Hiramatsu
  2017-04-26 11:56           ` Satoru Takeuchi
  1 sibling, 1 reply; 18+ messages in thread
From: Masami Hiramatsu @ 2017-04-25 14:58 UTC (permalink / raw)
  To: Satoru Takeuchi; +Cc: Borislav Petkov, x86, linux-kernel

Hello,

2017-04-24 22:09 GMT+09:00 Satoru Takeuchi <satoru.takeuchi@gmail.com>:
> At Mon, 24 Apr 2017 14:48:46 +0200,
> Borislav Petkov wrote:
>>
>> On Mon, Apr 24, 2017 at 09:39:12PM +0900, Satoru Takeuchi wrote:
>> > I used the following auto-test tool (its backend is ktest).
>> >
>> > https://github.com/satoru-takeuchi/elkdat
>> >
>> > This problem can be reproduced by the following command on Ubuntu 16.04.
>> >
>> > ```
>> > $ sudo apt-get install git vagrant libvirt-bin libvirt-dev kernel-package qemu-kvm libssl-dev libncurses5-dev
>>
>> Can you minimize that reproducer? I.e, can you dump only the qemu
>> command line options from this setup?
>>
>> They're enough to be able to start a guest with your config without me
>> having to install all that other stuff.
>
> OK. Is it sufficient information?
>
> ```
> qemu-system-x86_64 -enable-kvm -name elkdat_ktest -S -machine pc-i440fx-xenial,accel=kvm,usb=off -cpu Opteron_G3,+smap,+adx,+rdseed,+bmi2,+smep,+avx2,+bmi1,+fsgsbase,+perfctr_nb,+perfctr_core,+topoext,+tce,+wdt,+skinit,+osvw,
+3dnowprefetch,+cr8legacy,+extapic,+cmp_legacy,+pdpe1gb,+fxsr_opt,+mmxext,+rdrand,+f16c,+avx,+osxsave,+xsave,+aes,+movbe,+sse4.2,+sse4.1,+fma,+ssse3,+pclmuldq,+ht,
+vme -m 512 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -uuid 12de0e96-5d01-4ab0-b0b3-165f55999960 -no-user-config -nodefaults -chardev 
socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-elkdat_ktest/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc 
base=utc -no-shutdown -boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/var/lib/libvirt/images/
elkdat_ktest.img,format=qcow2,if=none,id=drive-virtio-disk0 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,id=virtio-
disk0,bootindex=1 -netdev tap,fd=26,id=h
>  ostnet0,vhost=on,vhostfd=28 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:e4:6f:3e,bus=pci.0,addr=0x5 -chardev 
pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -vnc 127.0.0.1:0 -k en-us -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 -device 
virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4 -msg timestamp=on
> ```

I also could reproduce this with Fedora 25 on Core i7-4770S, 
with below options.

"-cpu Opteron_G3,+smap,+adx,+rdseed,+bmi2,+smep,+avx2,+bmi1,+fsgsbase,+perfctr_nb,+perfctr_core,+topoext,+tce,+wdt,+skinit,+osvw,+3dnowprefetch,+cr8legacy,+extapic,+cmp_legacy,+pdpe1gb,+fxsr_opt,+mmxext,+rdrand,+f16c,+avx,+osxsave,+xsave,+aes,+movbe,+sse4.2,+sse4.1,+fma,+ssse3,+pclmuldq,+vme -M pc -enable-kvm -M pc -enable-kvm "

And a quick investigation showed that this crash happened when I
replaced the "Opteron_G3" with "Opteron_G2", "Opteron_G1", "Westmere"
and "Nehalem" (I didn't check older than that). But I didn't see the
crash when I specify "Opteron_G4" or "Opteron_G5", or newer than
"SandyBridge".

So, I guess this maybe caused by the combinations of cpu model and
flags which must not exist, maybe qemu changes available instruction
set based on cpu model, but linux checks only cpu feature flag.

Thank you,

-- 
Masami Hiramatsu <mhiramat@kernel.org>

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

* Re: [BUG] x86: failed to boot a kernel on a Ryzen machine
  2017-04-25  9:36         ` Borislav Petkov
@ 2017-04-26  7:48           ` Paolo Bonzini
  2017-04-26  8:14             ` Borislav Petkov
  2017-04-26 11:47             ` Satoru Takeuchi
  0 siblings, 2 replies; 18+ messages in thread
From: Paolo Bonzini @ 2017-04-26  7:48 UTC (permalink / raw)
  To: Borislav Petkov, Satoru Takeuchi; +Cc: x86, linux-kernel, kvm ML



On 25/04/2017 11:36, Borislav Petkov wrote:
> Looking at CR4: 00000000003006f0, it doesn't have OSXSAVE set. I.e., bit
> 18. And when that bit is not set, VMOVDQA raises an #UD.
> 
> And for some reason qemu doesn't like it even if you request that bit with
> +osxsave:
> 
> warning: host doesn't support requested feature: CPUID.01H:ECX.osxsave [bit 27]
> 
> Even though the corresponding bit in CPUID on the host is set:
> 
> 0x00000001: EAX=0x00800f00, EBX=0x40200800, ECX=0x7ed8320b, EDX=0x178bfbff
> 						   ^
> Paolo, any thoughts?

The OSXSAVE CPUID bit is not set by QEMU, it is set by the OS itself
(indirectly) when it sets CR4.OSXSAVE.  QEMU says it's not available
(probably) because the Opteron_G3 CPU model does not have the 0xD CPUID
leaf.

I think you're using libvirt's "host-model" CPU model.  That model needs
QEMU/libvirt support for each host CPU family, and in general it often
gives rise to bugs such as the one you're reporting,

Change it to host-passthrough, and please send us the output of
/proc/cpuinfo so we can add support for Ryzen in "host-model".

Thanks,

Paolo

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

* Re: [BUG] x86: failed to boot a kernel on a Ryzen machine
  2017-04-26  7:48           ` Paolo Bonzini
@ 2017-04-26  8:14             ` Borislav Petkov
  2017-04-26 11:47             ` Satoru Takeuchi
  1 sibling, 0 replies; 18+ messages in thread
From: Borislav Petkov @ 2017-04-26  8:14 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Satoru Takeuchi, x86, linux-kernel, kvm ML

On Wed, Apr 26, 2017 at 09:48:22AM +0200, Paolo Bonzini wrote:
> The OSXSAVE CPUID bit is not set by QEMU, it is set by the OS itself
> (indirectly) when it sets CR4.OSXSAVE.  QEMU says it's not available
> (probably) because the Opteron_G3 CPU model does not have the 0xD CPUID
> leaf.

Nope:

0x00000000 0x00: eax=0x00000005 ebx=0x68747541 ecx=0x444d4163 edx=0x69746e65
		     ^^^^^^^^^^

highest is 0x5. I'll let Satoru comment on the rest.

Thanks Paolo!

-- 
Regards/Gruss,
    Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.

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

* Re: [BUG] x86: failed to boot a kernel on a Ryzen machine
  2017-04-26  7:48           ` Paolo Bonzini
  2017-04-26  8:14             ` Borislav Petkov
@ 2017-04-26 11:47             ` Satoru Takeuchi
  2017-04-26 16:58               ` Paolo Bonzini
  1 sibling, 1 reply; 18+ messages in thread
From: Satoru Takeuchi @ 2017-04-26 11:47 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Borislav Petkov, Satoru Takeuchi, x86, linux-kernel, kvm ML

At Wed, 26 Apr 2017 09:48:22 +0200,
Paolo Bonzini wrote:
> 
> 
> 
> On 25/04/2017 11:36, Borislav Petkov wrote:
> > Looking at CR4: 00000000003006f0, it doesn't have OSXSAVE set. I.e., bit
> > 18. And when that bit is not set, VMOVDQA raises an #UD.
> > 
> > And for some reason qemu doesn't like it even if you request that bit with
> > +osxsave:
> > 
> > warning: host doesn't support requested feature: CPUID.01H:ECX.osxsave [bit 27]
> > 
> > Even though the corresponding bit in CPUID on the host is set:
> > 
> > 0x00000001: EAX=0x00800f00, EBX=0x40200800, ECX=0x7ed8320b, EDX=0x178bfbff
> > 						   ^
> > Paolo, any thoughts?
> 
> The OSXSAVE CPUID bit is not set by QEMU, it is set by the OS itself
> (indirectly) when it sets CR4.OSXSAVE.  QEMU says it's not available
> (probably) because the Opteron_G3 CPU model does not have the 0xD CPUID
> leaf.
> 
> I think you're using libvirt's "host-model" CPU model.  That model needs
> QEMU/libvirt support for each host CPU family, and in general it often
> gives rise to bugs such as the one you're reporting,

Yes, I used "host-model". 

> 
> Change it to host-passthrough,

I changed it as you said and my own kernel succeeded to boot, thank you!

> and please send us the output of/proc/cpuinfo so we can add support for Ryzen in "host-model".


OK, here it is.

```
$ cat /proc/cpuinfo 
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 1
model name	: AMD Ryzen 7 1800X Eight-Core Processor
stepping	: 1
microcode	: 0x800111c
cpu MHz		: 2200.000
cache size	: 512 KB
physical id	: 0
siblings	: 16
core id		: 0
cpu cores	: 8
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
bugs		: fxsave_leak sysret_ss_attrs null_seg
bogomips	: 7186.66
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate eff_freq_ro [13] [14]

processor	: 1
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 1
model name	: AMD Ryzen 7 1800X Eight-Core Processor
stepping	: 1
microcode	: 0x800111c
cpu MHz		: 2200.000
cache size	: 512 KB
physical id	: 0
siblings	: 16
core id		: 0
cpu cores	: 8
apicid		: 1
initial apicid	: 1
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
bugs		: fxsave_leak sysret_ss_attrs null_seg
bogomips	: 7186.66
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate eff_freq_ro [13] [14]

processor	: 2
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 1
model name	: AMD Ryzen 7 1800X Eight-Core Processor
stepping	: 1
microcode	: 0x800111c
cpu MHz		: 2200.000
cache size	: 512 KB
physical id	: 0
siblings	: 16
core id		: 1
cpu cores	: 8
apicid		: 2
initial apicid	: 2
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
bugs		: fxsave_leak sysret_ss_attrs null_seg
bogomips	: 7186.66
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate eff_freq_ro [13] [14]

processor	: 3
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 1
model name	: AMD Ryzen 7 1800X Eight-Core Processor
stepping	: 1
microcode	: 0x800111c
cpu MHz		: 2200.000
cache size	: 512 KB
physical id	: 0
siblings	: 16
core id		: 1
cpu cores	: 8
apicid		: 3
initial apicid	: 3
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
bugs		: fxsave_leak sysret_ss_attrs null_seg
bogomips	: 7186.66
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate eff_freq_ro [13] [14]

processor	: 4
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 1
model name	: AMD Ryzen 7 1800X Eight-Core Processor
stepping	: 1
microcode	: 0x800111c
cpu MHz		: 2200.000
cache size	: 512 KB
physical id	: 0
siblings	: 16
core id		: 2
cpu cores	: 8
apicid		: 4
initial apicid	: 4
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
bugs		: fxsave_leak sysret_ss_attrs null_seg
bogomips	: 7186.66
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate eff_freq_ro [13] [14]

processor	: 5
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 1
model name	: AMD Ryzen 7 1800X Eight-Core Processor
stepping	: 1
microcode	: 0x800111c
cpu MHz		: 2200.000
cache size	: 512 KB
physical id	: 0
siblings	: 16
core id		: 2
cpu cores	: 8
apicid		: 5
initial apicid	: 5
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
bugs		: fxsave_leak sysret_ss_attrs null_seg
bogomips	: 7186.66
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate eff_freq_ro [13] [14]

processor	: 6
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 1
model name	: AMD Ryzen 7 1800X Eight-Core Processor
stepping	: 1
microcode	: 0x800111c
cpu MHz		: 2200.000
cache size	: 512 KB
physical id	: 0
siblings	: 16
core id		: 3
cpu cores	: 8
apicid		: 6
initial apicid	: 6
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
bugs		: fxsave_leak sysret_ss_attrs null_seg
bogomips	: 7186.66
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate eff_freq_ro [13] [14]

processor	: 7
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 1
model name	: AMD Ryzen 7 1800X Eight-Core Processor
stepping	: 1
microcode	: 0x800111c
cpu MHz		: 2200.000
cache size	: 512 KB
physical id	: 0
siblings	: 16
core id		: 3
cpu cores	: 8
apicid		: 7
initial apicid	: 7
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
bugs		: fxsave_leak sysret_ss_attrs null_seg
bogomips	: 7186.66
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate eff_freq_ro [13] [14]

processor	: 8
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 1
model name	: AMD Ryzen 7 1800X Eight-Core Processor
stepping	: 1
microcode	: 0x800111c
cpu MHz		: 2200.000
cache size	: 512 KB
physical id	: 0
siblings	: 16
core id		: 4
cpu cores	: 8
apicid		: 8
initial apicid	: 8
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
bugs		: fxsave_leak sysret_ss_attrs null_seg
bogomips	: 7186.66
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate eff_freq_ro [13] [14]

processor	: 9
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 1
model name	: AMD Ryzen 7 1800X Eight-Core Processor
stepping	: 1
microcode	: 0x800111c
cpu MHz		: 2200.000
cache size	: 512 KB
physical id	: 0
siblings	: 16
core id		: 4
cpu cores	: 8
apicid		: 9
initial apicid	: 9
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
bugs		: fxsave_leak sysret_ss_attrs null_seg
bogomips	: 7186.66
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate eff_freq_ro [13] [14]

processor	: 10
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 1
model name	: AMD Ryzen 7 1800X Eight-Core Processor
stepping	: 1
microcode	: 0x800111c
cpu MHz		: 2200.000
cache size	: 512 KB
physical id	: 0
siblings	: 16
core id		: 5
cpu cores	: 8
apicid		: 10
initial apicid	: 10
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
bugs		: fxsave_leak sysret_ss_attrs null_seg
bogomips	: 7186.66
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate eff_freq_ro [13] [14]

processor	: 11
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 1
model name	: AMD Ryzen 7 1800X Eight-Core Processor
stepping	: 1
microcode	: 0x800111c
cpu MHz		: 2200.000
cache size	: 512 KB
physical id	: 0
siblings	: 16
core id		: 5
cpu cores	: 8
apicid		: 11
initial apicid	: 11
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
bugs		: fxsave_leak sysret_ss_attrs null_seg
bogomips	: 7186.66
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate eff_freq_ro [13] [14]

processor	: 12
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 1
model name	: AMD Ryzen 7 1800X Eight-Core Processor
stepping	: 1
microcode	: 0x800111c
cpu MHz		: 2200.000
cache size	: 512 KB
physical id	: 0
siblings	: 16
core id		: 6
cpu cores	: 8
apicid		: 12
initial apicid	: 12
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
bugs		: fxsave_leak sysret_ss_attrs null_seg
bogomips	: 7186.66
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate eff_freq_ro [13] [14]

processor	: 13
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 1
model name	: AMD Ryzen 7 1800X Eight-Core Processor
stepping	: 1
microcode	: 0x800111c
cpu MHz		: 2200.000
cache size	: 512 KB
physical id	: 0
siblings	: 16
core id		: 6
cpu cores	: 8
apicid		: 13
initial apicid	: 13
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
bugs		: fxsave_leak sysret_ss_attrs null_seg
bogomips	: 7186.66
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate eff_freq_ro [13] [14]

processor	: 14
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 1
model name	: AMD Ryzen 7 1800X Eight-Core Processor
stepping	: 1
microcode	: 0x800111c
cpu MHz		: 2200.000
cache size	: 512 KB
physical id	: 0
siblings	: 16
core id		: 7
cpu cores	: 8
apicid		: 14
initial apicid	: 14
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
bugs		: fxsave_leak sysret_ss_attrs null_seg
bogomips	: 7186.66
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate eff_freq_ro [13] [14]

processor	: 15
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 1
model name	: AMD Ryzen 7 1800X Eight-Core Processor
stepping	: 1
microcode	: 0x800111c
cpu MHz		: 2200.000
cache size	: 512 KB
physical id	: 0
siblings	: 16
core id		: 7
cpu cores	: 8
apicid		: 15
initial apicid	: 15
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
bugs		: fxsave_leak sysret_ss_attrs null_seg
bogomips	: 7186.66
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate eff_freq_ro [13] [14]

```

Regards,
Satoru


> 
> Thanks,
> 
> Paolo

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

* Re: [BUG] x86: failed to boot a kernel on a Ryzen machine
  2017-04-25 14:58         ` Masami Hiramatsu
@ 2017-04-26 11:56           ` Satoru Takeuchi
  2017-04-26 12:51             ` Borislav Petkov
  0 siblings, 1 reply; 18+ messages in thread
From: Satoru Takeuchi @ 2017-04-26 11:56 UTC (permalink / raw)
  To: Masami Hiramatsu; +Cc: Satoru Takeuchi, Borislav Petkov, x86, linux-kernel

At Tue, 25 Apr 2017 23:58:50 +0900,
Masami Hiramatsu wrote:
> 
> Hello,
> 
> 2017-04-24 22:09 GMT+09:00 Satoru Takeuchi <satoru.takeuchi@gmail.com>:
> > At Mon, 24 Apr 2017 14:48:46 +0200,
> > Borislav Petkov wrote:
> >>
> >> On Mon, Apr 24, 2017 at 09:39:12PM +0900, Satoru Takeuchi wrote:
> >> > I used the following auto-test tool (its backend is ktest).
> >> >
> >> > https://github.com/satoru-takeuchi/elkdat
> >> >
> >> > This problem can be reproduced by the following command on Ubuntu 16.04.
> >> >
> >> > ```
> >> > $ sudo apt-get install git vagrant libvirt-bin libvirt-dev kernel-package qemu-kvm libssl-dev libncurses5-dev
> >>
> >> Can you minimize that reproducer? I.e, can you dump only the qemu
> >> command line options from this setup?
> >>
> >> They're enough to be able to start a guest with your config without me
> >> having to install all that other stuff.
> >
> > OK. Is it sufficient information?
> >
> > ```
> > qemu-system-x86_64 -enable-kvm -name elkdat_ktest -S -machine pc-i440fx-xenial,accel=kvm,usb=off -cpu Opteron_G3,+smap,+adx,+rdseed,+bmi2,+smep,+avx2,+bmi1,+fsgsbase,+perfctr_nb,+perfctr_core,+topoext,+tce,+wdt,+skinit,+osvw,
> +3dnowprefetch,+cr8legacy,+extapic,+cmp_legacy,+pdpe1gb,+fxsr_opt,+mmxext,+rdrand,+f16c,+avx,+osxsave,+xsave,+aes,+movbe,+sse4.2,+sse4.1,+fma,+ssse3,+pclmuldq,+ht,
> +vme -m 512 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -uuid 12de0e96-5d01-4ab0-b0b3-165f55999960 -no-user-config -nodefaults -chardev 
> socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-elkdat_ktest/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc 
> base=utc -no-shutdown -boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/var/lib/libvirt/images/
> elkdat_ktest.img,format=qcow2,if=none,id=drive-virtio-disk0 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,id=virtio-
> disk0,bootindex=1 -netdev tap,fd=26,id=h
> >  ostnet0,vhost=on,vhostfd=28 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:e4:6f:3e,bus=pci.0,addr=0x5 -chardev 
> pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -vnc 127.0.0.1:0 -k en-us -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 -device 
> virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4 -msg timestamp=on
> > ```
> 
> I also could reproduce this with Fedora 25 on Core i7-4770S, 
> with below options.
> 
> "-cpu Opteron_G3,+smap,+adx,+rdseed,+bmi2,+smep,+avx2,+bmi1,+fsgsbase,+perfctr_nb,+perfctr_core,+topoext,+tce,+wdt,+skinit,+osvw,+3dnowprefetch,+cr8legacy,+extapic,+cmp_legacy,+pdpe1gb,+fxsr_opt,+mmxext,+rdrand,+f16c,+avx,+osxsave,+xsave,+aes,+movbe,+sse4.2,+sse4.1,+fma,+ssse3,+pclmuldq,+vme -M pc -enable-kvm -M pc -enable-kvm "
> 
> And a quick investigation showed that this crash happened when I
> replaced the "Opteron_G3" with "Opteron_G2", "Opteron_G1", "Westmere"
> and "Nehalem" (I didn't check older than that). But I didn't see the
> crash when I specify "Opteron_G4" or "Opteron_G5", or newer than
> "SandyBridge".
> 
> So, I guess this maybe caused by the combinations of cpu model and
> flags which must not exist, maybe qemu changes available instruction
> set based on cpu model, but linux checks only cpu feature flag.

Yeah, probably so. I succeeded to boot my own kernel with "Opteron_G5" model and disabling
"fma4", "tbm", and "xop" which Ryzen doesn't support.

As Paolo said in other mail, The boot also succeeded with "host-passthrough" mode rather than
"host-model". I'll wait for adding "Ryzen (or Zen?)" model to qemu.

Regards,
Satoru

> 
> Thank you,
> 
> -- 
> Masami Hiramatsu <mhiramat@kernel.org>

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

* Re: [BUG] x86: failed to boot a kernel on a Ryzen machine
  2017-04-26 11:56           ` Satoru Takeuchi
@ 2017-04-26 12:51             ` Borislav Petkov
  0 siblings, 0 replies; 18+ messages in thread
From: Borislav Petkov @ 2017-04-26 12:51 UTC (permalink / raw)
  To: Satoru Takeuchi; +Cc: Masami Hiramatsu, x86, linux-kernel

On Wed, Apr 26, 2017 at 08:56:24PM +0900, Satoru Takeuchi wrote:
> As Paolo said in other mail, The boot also succeeded with "host-passthrough" mode rather than
> "host-model". I'll wait for adding "Ryzen (or Zen?)" model to qemu.

Yah, whoever adds it, let's call it "zen" or "Zen". Ryzen is some client
marketing name while zen is the microarchitecture name of F17h and
future.

-- 
Regards/Gruss,
    Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.

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

* Re: [BUG] x86: failed to boot a kernel on a Ryzen machine
  2017-04-26 11:47             ` Satoru Takeuchi
@ 2017-04-26 16:58               ` Paolo Bonzini
  2017-04-27  0:42                 ` Satoru Takeuchi
  0 siblings, 1 reply; 18+ messages in thread
From: Paolo Bonzini @ 2017-04-26 16:58 UTC (permalink / raw)
  To: Satoru Takeuchi
  Cc: Borislav Petkov, x86, linux-kernel, kvm ML, Jiri Denemark,
	Dr. David Alan Gilbert



On 26/04/2017 13:47, Satoru Takeuchi wrote:
> OK, here it is.

It looks like the cause is that AMD has removed TBM instructions
compared to e.g. Piledriver, so libvirt resorts to a much older base
model (thanks to Dave Gilbert for sorting through the list of feature bits).

Can you please run this script:

http://libvirt.org/git/?p=libvirt.git;a=blob_plain;f=tests/cputestdata/cpu-gather.sh;h=83963557ec4075d351be09e17994ac5300bc5d1f;hb=HEAD

and send the output?

Thanks,

Paolo

> ```
> $ cat /proc/cpuinfo 
> processor	: 0
> vendor_id	: AuthenticAMD
> cpu family	: 23
> model		: 1
> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> stepping	: 1
> microcode	: 0x800111c
> cpu MHz		: 2200.000
> cache size	: 512 KB
> physical id	: 0
> siblings	: 16
> core id		: 0
> cpu cores	: 8
> apicid		: 0
> initial apicid	: 0
> fpu		: yes
> fpu_exception	: yes
> cpuid level	: 13
> wp		: yes
> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> bugs		: fxsave_leak sysret_ss_attrs null_seg
> bogomips	: 7186.66
> TLB size	: 2560 4K pages
> clflush size	: 64
> cache_alignment	: 64
> address sizes	: 48 bits physical, 48 bits virtual
> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> 
> processor	: 1
> vendor_id	: AuthenticAMD
> cpu family	: 23
> model		: 1
> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> stepping	: 1
> microcode	: 0x800111c
> cpu MHz		: 2200.000
> cache size	: 512 KB
> physical id	: 0
> siblings	: 16
> core id		: 0
> cpu cores	: 8
> apicid		: 1
> initial apicid	: 1
> fpu		: yes
> fpu_exception	: yes
> cpuid level	: 13
> wp		: yes
> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> bugs		: fxsave_leak sysret_ss_attrs null_seg
> bogomips	: 7186.66
> TLB size	: 2560 4K pages
> clflush size	: 64
> cache_alignment	: 64
> address sizes	: 48 bits physical, 48 bits virtual
> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> 
> processor	: 2
> vendor_id	: AuthenticAMD
> cpu family	: 23
> model		: 1
> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> stepping	: 1
> microcode	: 0x800111c
> cpu MHz		: 2200.000
> cache size	: 512 KB
> physical id	: 0
> siblings	: 16
> core id		: 1
> cpu cores	: 8
> apicid		: 2
> initial apicid	: 2
> fpu		: yes
> fpu_exception	: yes
> cpuid level	: 13
> wp		: yes
> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> bugs		: fxsave_leak sysret_ss_attrs null_seg
> bogomips	: 7186.66
> TLB size	: 2560 4K pages
> clflush size	: 64
> cache_alignment	: 64
> address sizes	: 48 bits physical, 48 bits virtual
> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> 
> processor	: 3
> vendor_id	: AuthenticAMD
> cpu family	: 23
> model		: 1
> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> stepping	: 1
> microcode	: 0x800111c
> cpu MHz		: 2200.000
> cache size	: 512 KB
> physical id	: 0
> siblings	: 16
> core id		: 1
> cpu cores	: 8
> apicid		: 3
> initial apicid	: 3
> fpu		: yes
> fpu_exception	: yes
> cpuid level	: 13
> wp		: yes
> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> bugs		: fxsave_leak sysret_ss_attrs null_seg
> bogomips	: 7186.66
> TLB size	: 2560 4K pages
> clflush size	: 64
> cache_alignment	: 64
> address sizes	: 48 bits physical, 48 bits virtual
> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> 
> processor	: 4
> vendor_id	: AuthenticAMD
> cpu family	: 23
> model		: 1
> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> stepping	: 1
> microcode	: 0x800111c
> cpu MHz		: 2200.000
> cache size	: 512 KB
> physical id	: 0
> siblings	: 16
> core id		: 2
> cpu cores	: 8
> apicid		: 4
> initial apicid	: 4
> fpu		: yes
> fpu_exception	: yes
> cpuid level	: 13
> wp		: yes
> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> bugs		: fxsave_leak sysret_ss_attrs null_seg
> bogomips	: 7186.66
> TLB size	: 2560 4K pages
> clflush size	: 64
> cache_alignment	: 64
> address sizes	: 48 bits physical, 48 bits virtual
> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> 
> processor	: 5
> vendor_id	: AuthenticAMD
> cpu family	: 23
> model		: 1
> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> stepping	: 1
> microcode	: 0x800111c
> cpu MHz		: 2200.000
> cache size	: 512 KB
> physical id	: 0
> siblings	: 16
> core id		: 2
> cpu cores	: 8
> apicid		: 5
> initial apicid	: 5
> fpu		: yes
> fpu_exception	: yes
> cpuid level	: 13
> wp		: yes
> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> bugs		: fxsave_leak sysret_ss_attrs null_seg
> bogomips	: 7186.66
> TLB size	: 2560 4K pages
> clflush size	: 64
> cache_alignment	: 64
> address sizes	: 48 bits physical, 48 bits virtual
> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> 
> processor	: 6
> vendor_id	: AuthenticAMD
> cpu family	: 23
> model		: 1
> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> stepping	: 1
> microcode	: 0x800111c
> cpu MHz		: 2200.000
> cache size	: 512 KB
> physical id	: 0
> siblings	: 16
> core id		: 3
> cpu cores	: 8
> apicid		: 6
> initial apicid	: 6
> fpu		: yes
> fpu_exception	: yes
> cpuid level	: 13
> wp		: yes
> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> bugs		: fxsave_leak sysret_ss_attrs null_seg
> bogomips	: 7186.66
> TLB size	: 2560 4K pages
> clflush size	: 64
> cache_alignment	: 64
> address sizes	: 48 bits physical, 48 bits virtual
> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> 
> processor	: 7
> vendor_id	: AuthenticAMD
> cpu family	: 23
> model		: 1
> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> stepping	: 1
> microcode	: 0x800111c
> cpu MHz		: 2200.000
> cache size	: 512 KB
> physical id	: 0
> siblings	: 16
> core id		: 3
> cpu cores	: 8
> apicid		: 7
> initial apicid	: 7
> fpu		: yes
> fpu_exception	: yes
> cpuid level	: 13
> wp		: yes
> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> bugs		: fxsave_leak sysret_ss_attrs null_seg
> bogomips	: 7186.66
> TLB size	: 2560 4K pages
> clflush size	: 64
> cache_alignment	: 64
> address sizes	: 48 bits physical, 48 bits virtual
> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> 
> processor	: 8
> vendor_id	: AuthenticAMD
> cpu family	: 23
> model		: 1
> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> stepping	: 1
> microcode	: 0x800111c
> cpu MHz		: 2200.000
> cache size	: 512 KB
> physical id	: 0
> siblings	: 16
> core id		: 4
> cpu cores	: 8
> apicid		: 8
> initial apicid	: 8
> fpu		: yes
> fpu_exception	: yes
> cpuid level	: 13
> wp		: yes
> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> bugs		: fxsave_leak sysret_ss_attrs null_seg
> bogomips	: 7186.66
> TLB size	: 2560 4K pages
> clflush size	: 64
> cache_alignment	: 64
> address sizes	: 48 bits physical, 48 bits virtual
> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> 
> processor	: 9
> vendor_id	: AuthenticAMD
> cpu family	: 23
> model		: 1
> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> stepping	: 1
> microcode	: 0x800111c
> cpu MHz		: 2200.000
> cache size	: 512 KB
> physical id	: 0
> siblings	: 16
> core id		: 4
> cpu cores	: 8
> apicid		: 9
> initial apicid	: 9
> fpu		: yes
> fpu_exception	: yes
> cpuid level	: 13
> wp		: yes
> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> bugs		: fxsave_leak sysret_ss_attrs null_seg
> bogomips	: 7186.66
> TLB size	: 2560 4K pages
> clflush size	: 64
> cache_alignment	: 64
> address sizes	: 48 bits physical, 48 bits virtual
> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> 
> processor	: 10
> vendor_id	: AuthenticAMD
> cpu family	: 23
> model		: 1
> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> stepping	: 1
> microcode	: 0x800111c
> cpu MHz		: 2200.000
> cache size	: 512 KB
> physical id	: 0
> siblings	: 16
> core id		: 5
> cpu cores	: 8
> apicid		: 10
> initial apicid	: 10
> fpu		: yes
> fpu_exception	: yes
> cpuid level	: 13
> wp		: yes
> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> bugs		: fxsave_leak sysret_ss_attrs null_seg
> bogomips	: 7186.66
> TLB size	: 2560 4K pages
> clflush size	: 64
> cache_alignment	: 64
> address sizes	: 48 bits physical, 48 bits virtual
> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> 
> processor	: 11
> vendor_id	: AuthenticAMD
> cpu family	: 23
> model		: 1
> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> stepping	: 1
> microcode	: 0x800111c
> cpu MHz		: 2200.000
> cache size	: 512 KB
> physical id	: 0
> siblings	: 16
> core id		: 5
> cpu cores	: 8
> apicid		: 11
> initial apicid	: 11
> fpu		: yes
> fpu_exception	: yes
> cpuid level	: 13
> wp		: yes
> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> bugs		: fxsave_leak sysret_ss_attrs null_seg
> bogomips	: 7186.66
> TLB size	: 2560 4K pages
> clflush size	: 64
> cache_alignment	: 64
> address sizes	: 48 bits physical, 48 bits virtual
> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> 
> processor	: 12
> vendor_id	: AuthenticAMD
> cpu family	: 23
> model		: 1
> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> stepping	: 1
> microcode	: 0x800111c
> cpu MHz		: 2200.000
> cache size	: 512 KB
> physical id	: 0
> siblings	: 16
> core id		: 6
> cpu cores	: 8
> apicid		: 12
> initial apicid	: 12
> fpu		: yes
> fpu_exception	: yes
> cpuid level	: 13
> wp		: yes
> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> bugs		: fxsave_leak sysret_ss_attrs null_seg
> bogomips	: 7186.66
> TLB size	: 2560 4K pages
> clflush size	: 64
> cache_alignment	: 64
> address sizes	: 48 bits physical, 48 bits virtual
> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> 
> processor	: 13
> vendor_id	: AuthenticAMD
> cpu family	: 23
> model		: 1
> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> stepping	: 1
> microcode	: 0x800111c
> cpu MHz		: 2200.000
> cache size	: 512 KB
> physical id	: 0
> siblings	: 16
> core id		: 6
> cpu cores	: 8
> apicid		: 13
> initial apicid	: 13
> fpu		: yes
> fpu_exception	: yes
> cpuid level	: 13
> wp		: yes
> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> bugs		: fxsave_leak sysret_ss_attrs null_seg
> bogomips	: 7186.66
> TLB size	: 2560 4K pages
> clflush size	: 64
> cache_alignment	: 64
> address sizes	: 48 bits physical, 48 bits virtual
> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> 
> processor	: 14
> vendor_id	: AuthenticAMD
> cpu family	: 23
> model		: 1
> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> stepping	: 1
> microcode	: 0x800111c
> cpu MHz		: 2200.000
> cache size	: 512 KB
> physical id	: 0
> siblings	: 16
> core id		: 7
> cpu cores	: 8
> apicid		: 14
> initial apicid	: 14
> fpu		: yes
> fpu_exception	: yes
> cpuid level	: 13
> wp		: yes
> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> bugs		: fxsave_leak sysret_ss_attrs null_seg
> bogomips	: 7186.66
> TLB size	: 2560 4K pages
> clflush size	: 64
> cache_alignment	: 64
> address sizes	: 48 bits physical, 48 bits virtual
> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> 
> processor	: 15
> vendor_id	: AuthenticAMD
> cpu family	: 23
> model		: 1
> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> stepping	: 1
> microcode	: 0x800111c
> cpu MHz		: 2200.000
> cache size	: 512 KB
> physical id	: 0
> siblings	: 16
> core id		: 7
> cpu cores	: 8
> apicid		: 15
> initial apicid	: 15
> fpu		: yes
> fpu_exception	: yes
> cpuid level	: 13
> wp		: yes
> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> bugs		: fxsave_leak sysret_ss_attrs null_seg
> bogomips	: 7186.66
> TLB size	: 2560 4K pages
> clflush size	: 64
> cache_alignment	: 64
> address sizes	: 48 bits physical, 48 bits virtual
> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> 
> ```
> 
> Regards,
> Satoru
> 
> 
>>
>> Thanks,
>>
>> Paolo

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

* Re: [BUG] x86: failed to boot a kernel on a Ryzen machine
  2017-04-26 16:58               ` Paolo Bonzini
@ 2017-04-27  0:42                 ` Satoru Takeuchi
  2017-04-28 13:34                   ` Paolo Bonzini
  0 siblings, 1 reply; 18+ messages in thread
From: Satoru Takeuchi @ 2017-04-27  0:42 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Satoru Takeuchi, Borislav Petkov, x86, linux-kernel, kvm ML,
	Jiri Denemark, Dr. David Alan Gilbert

At Wed, 26 Apr 2017 18:58:27 +0200,
Paolo Bonzini wrote:
> 
> 
> 
> On 26/04/2017 13:47, Satoru Takeuchi wrote:
> > OK, here it is.
> 
> It looks like the cause is that AMD has removed TBM instructions
> compared to e.g. Piledriver, so libvirt resorts to a much older base
> model (thanks to Dave Gilbert for sorting through the list of feature bits).
> 
> Can you please run this script:
> 
> http://libvirt.org/git/?p=libvirt.git;a=blob_plain;f=tests/cputestdata/cpu-gather.sh;h=83963557ec4075d351be09e17994ac5300bc5d1f;hb=HEAD
> 
> and send the output?


OK. Here is the result.

```
# bash tests-cputestdata-cpu-gather.sh 
model name	: AMD Ryzen 7 1800X Eight-Core Processor
CPU:
   0x00000000 0x00: eax=0x0000000d ebx=0x68747541 ecx=0x444d4163 edx=0x69746e65
   0x00000001 0x00: eax=0x00800f11 ebx=0x09100800 ecx=0x7ed8320b edx=0x178bfbff
   0x00000002 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x00000003 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x00000005 0x00: eax=0x00000040 ebx=0x00000040 ecx=0x00000003 edx=0x00000000
   0x00000006 0x00: eax=0x00000004 ebx=0x00000000 ecx=0x00000001 edx=0x00000000
   0x00000007 0x00: eax=0x00000000 ebx=0x209c01a9 ecx=0x00000000 edx=0x00000000
   0x00000008 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x00000009 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x0000000a 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x0000000c 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x0000000d 0x00: eax=0x00000007 ebx=0x00000340 ecx=0x00000340 edx=0x00000000
   0x0000000d 0x01: eax=0x0000000f ebx=0x00000340 ecx=0x00000000 edx=0x00000000
   0x0000000d 0x02: eax=0x00000100 ebx=0x00000240 ecx=0x00000000 edx=0x00000000
   0x0000000d 0x03: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x80000000 0x00: eax=0x8000001f ebx=0x68747541 ecx=0x444d4163 edx=0x69746e65
   0x80000001 0x00: eax=0x00800f11 ebx=0x20000000 ecx=0x35c233ff edx=0x2fd3fbff
   0x80000002 0x00: eax=0x20444d41 ebx=0x657a7952 ecx=0x2037206e edx=0x30303831
   0x80000003 0x00: eax=0x69452058 ebx=0x2d746867 ecx=0x65726f43 edx=0x6f725020
   0x80000004 0x00: eax=0x73736563 ebx=0x2020726f ecx=0x20202020 edx=0x00202020
   0x80000005 0x00: eax=0xff40ff40 ebx=0xff40ff40 ecx=0x20080140 edx=0x40040140
   0x80000006 0x00: eax=0x26006400 ebx=0x66006400 ecx=0x02006140 edx=0x00808140
   0x80000007 0x00: eax=0x00000000 ebx=0x0000001b ecx=0x00000000 edx=0x00006599
   0x80000008 0x00: eax=0x00003030 ebx=0x00000007 ecx=0x0000400f edx=0x00000000
   0x80000009 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x8000000a 0x00: eax=0x00000001 ebx=0x00008000 ecx=0x00000000 edx=0x0001bcff
   0x8000000b 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x8000000c 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x8000000d 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x8000000e 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x8000000f 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x80000010 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x80000011 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x80000012 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x80000013 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x80000014 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x80000015 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x80000016 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x80000017 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x80000018 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x80000019 0x00: eax=0xf040f040 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x8000001a 0x00: eax=0x00000003 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x8000001b 0x00: eax=0x000003ff ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x8000001c 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0x8000001d 0x00: eax=0x00004121 ebx=0x01c0003f ecx=0x0000003f edx=0x00000000
   0x8000001e 0x00: eax=0x00000009 ebx=0x00000104 ecx=0x00000000 edx=0x00000000
   0x8000001f 0x00: eax=0x00000007 ebx=0x0000016f ecx=0x0000000f edx=0x00000000
   0x80860000 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
   0xc0000000 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000

warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 0]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 1]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 2]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 3]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 4]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 5]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 6]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 7]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 8]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 9]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 12]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 13]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 14]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 15]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 16]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 17]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 23]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 24]
{"QMP": {"version": {"qemu": {"micro": 0, "minor": 5, "major": 2}, "package": " (Debian 1:2.5+dfsg-5ubuntu10.11)"}, "capabilities": []}}
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 0]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 1]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 2]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 3]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 4]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 5]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 6]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 7]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 8]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 9]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 12]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 13]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 14]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 15]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 16]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 17]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 23]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 24]
{"return": {}}
{"return": [{"cpuid-register": "EAX", "cpuid-input-eax": 6, "features": 4}, {"cpuid-register": "EAX", "cpuid-input-ecx": 1, "cpuid-input-eax": 13, "features": 7}, {"cpuid-register": "EDX", "cpuid-input-eax": 2147483658, "features": 9}, {"cpuid-register": "EAX", "cpuid-input-eax": 1073741825, "features": 16777467}, {"cpuid-register": "EDX", "cpuid-input-eax": 3221225473, "features": 0}, {"cpuid-register": "EDX", "cpuid-input-eax": 2147483655, "features": 0}, {"cpuid-register": "ECX", "cpuid-input-eax": 2147483649, "features": 1015}, {"cpuid-register": "EDX", "cpuid-input-eax": 2147483649, "features": 776996864}, {"cpuid-register": "EBX", "cpuid-input-ecx": 0, "cpuid-input-eax": 7, "features": 10224043}, {"cpuid-register": "ECX", "cpuid-input-eax": 1, "features": 4160238083}, {"cpuid-register": "EDX", "cpuid-input-eax": 1, "features": 126614527}], "id": "feature-words"}
{"return": 23, "id": "family"}
{"return": 1, "id": "model"}
{"return": 1, "id": "stepping"}
{"return": "AMD Ryzen 7 1800X Eight-Core Processor         ", "id": "model-id"}
{"return": {}}
{"timestamp": {"seconds": 1493253066, "microseconds": 721689}, "event": "SHUTDOWN"}
# 
```

Thanks,
Satoru

> 
> Thanks,
> 
> Paolo
> 
> > ```
> > $ cat /proc/cpuinfo 
> > processor	: 0
> > vendor_id	: AuthenticAMD
> > cpu family	: 23
> > model		: 1
> > model name	: AMD Ryzen 7 1800X Eight-Core Processor
> > stepping	: 1
> > microcode	: 0x800111c
> > cpu MHz		: 2200.000
> > cache size	: 512 KB
> > physical id	: 0
> > siblings	: 16
> > core id		: 0
> > cpu cores	: 8
> > apicid		: 0
> > initial apicid	: 0
> > fpu		: yes
> > fpu_exception	: yes
> > cpuid level	: 13
> > wp		: yes
> > flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> > bugs		: fxsave_leak sysret_ss_attrs null_seg
> > bogomips	: 7186.66
> > TLB size	: 2560 4K pages
> > clflush size	: 64
> > cache_alignment	: 64
> > address sizes	: 48 bits physical, 48 bits virtual
> > power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> > 
> > processor	: 1
> > vendor_id	: AuthenticAMD
> > cpu family	: 23
> > model		: 1
> > model name	: AMD Ryzen 7 1800X Eight-Core Processor
> > stepping	: 1
> > microcode	: 0x800111c
> > cpu MHz		: 2200.000
> > cache size	: 512 KB
> > physical id	: 0
> > siblings	: 16
> > core id		: 0
> > cpu cores	: 8
> > apicid		: 1
> > initial apicid	: 1
> > fpu		: yes
> > fpu_exception	: yes
> > cpuid level	: 13
> > wp		: yes
> > flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> > bugs		: fxsave_leak sysret_ss_attrs null_seg
> > bogomips	: 7186.66
> > TLB size	: 2560 4K pages
> > clflush size	: 64
> > cache_alignment	: 64
> > address sizes	: 48 bits physical, 48 bits virtual
> > power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> > 
> > processor	: 2
> > vendor_id	: AuthenticAMD
> > cpu family	: 23
> > model		: 1
> > model name	: AMD Ryzen 7 1800X Eight-Core Processor
> > stepping	: 1
> > microcode	: 0x800111c
> > cpu MHz		: 2200.000
> > cache size	: 512 KB
> > physical id	: 0
> > siblings	: 16
> > core id		: 1
> > cpu cores	: 8
> > apicid		: 2
> > initial apicid	: 2
> > fpu		: yes
> > fpu_exception	: yes
> > cpuid level	: 13
> > wp		: yes
> > flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> > bugs		: fxsave_leak sysret_ss_attrs null_seg
> > bogomips	: 7186.66
> > TLB size	: 2560 4K pages
> > clflush size	: 64
> > cache_alignment	: 64
> > address sizes	: 48 bits physical, 48 bits virtual
> > power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> > 
> > processor	: 3
> > vendor_id	: AuthenticAMD
> > cpu family	: 23
> > model		: 1
> > model name	: AMD Ryzen 7 1800X Eight-Core Processor
> > stepping	: 1
> > microcode	: 0x800111c
> > cpu MHz		: 2200.000
> > cache size	: 512 KB
> > physical id	: 0
> > siblings	: 16
> > core id		: 1
> > cpu cores	: 8
> > apicid		: 3
> > initial apicid	: 3
> > fpu		: yes
> > fpu_exception	: yes
> > cpuid level	: 13
> > wp		: yes
> > flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> > bugs		: fxsave_leak sysret_ss_attrs null_seg
> > bogomips	: 7186.66
> > TLB size	: 2560 4K pages
> > clflush size	: 64
> > cache_alignment	: 64
> > address sizes	: 48 bits physical, 48 bits virtual
> > power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> > 
> > processor	: 4
> > vendor_id	: AuthenticAMD
> > cpu family	: 23
> > model		: 1
> > model name	: AMD Ryzen 7 1800X Eight-Core Processor
> > stepping	: 1
> > microcode	: 0x800111c
> > cpu MHz		: 2200.000
> > cache size	: 512 KB
> > physical id	: 0
> > siblings	: 16
> > core id		: 2
> > cpu cores	: 8
> > apicid		: 4
> > initial apicid	: 4
> > fpu		: yes
> > fpu_exception	: yes
> > cpuid level	: 13
> > wp		: yes
> > flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> > bugs		: fxsave_leak sysret_ss_attrs null_seg
> > bogomips	: 7186.66
> > TLB size	: 2560 4K pages
> > clflush size	: 64
> > cache_alignment	: 64
> > address sizes	: 48 bits physical, 48 bits virtual
> > power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> > 
> > processor	: 5
> > vendor_id	: AuthenticAMD
> > cpu family	: 23
> > model		: 1
> > model name	: AMD Ryzen 7 1800X Eight-Core Processor
> > stepping	: 1
> > microcode	: 0x800111c
> > cpu MHz		: 2200.000
> > cache size	: 512 KB
> > physical id	: 0
> > siblings	: 16
> > core id		: 2
> > cpu cores	: 8
> > apicid		: 5
> > initial apicid	: 5
> > fpu		: yes
> > fpu_exception	: yes
> > cpuid level	: 13
> > wp		: yes
> > flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> > bugs		: fxsave_leak sysret_ss_attrs null_seg
> > bogomips	: 7186.66
> > TLB size	: 2560 4K pages
> > clflush size	: 64
> > cache_alignment	: 64
> > address sizes	: 48 bits physical, 48 bits virtual
> > power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> > 
> > processor	: 6
> > vendor_id	: AuthenticAMD
> > cpu family	: 23
> > model		: 1
> > model name	: AMD Ryzen 7 1800X Eight-Core Processor
> > stepping	: 1
> > microcode	: 0x800111c
> > cpu MHz		: 2200.000
> > cache size	: 512 KB
> > physical id	: 0
> > siblings	: 16
> > core id		: 3
> > cpu cores	: 8
> > apicid		: 6
> > initial apicid	: 6
> > fpu		: yes
> > fpu_exception	: yes
> > cpuid level	: 13
> > wp		: yes
> > flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> > bugs		: fxsave_leak sysret_ss_attrs null_seg
> > bogomips	: 7186.66
> > TLB size	: 2560 4K pages
> > clflush size	: 64
> > cache_alignment	: 64
> > address sizes	: 48 bits physical, 48 bits virtual
> > power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> > 
> > processor	: 7
> > vendor_id	: AuthenticAMD
> > cpu family	: 23
> > model		: 1
> > model name	: AMD Ryzen 7 1800X Eight-Core Processor
> > stepping	: 1
> > microcode	: 0x800111c
> > cpu MHz		: 2200.000
> > cache size	: 512 KB
> > physical id	: 0
> > siblings	: 16
> > core id		: 3
> > cpu cores	: 8
> > apicid		: 7
> > initial apicid	: 7
> > fpu		: yes
> > fpu_exception	: yes
> > cpuid level	: 13
> > wp		: yes
> > flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> > bugs		: fxsave_leak sysret_ss_attrs null_seg
> > bogomips	: 7186.66
> > TLB size	: 2560 4K pages
> > clflush size	: 64
> > cache_alignment	: 64
> > address sizes	: 48 bits physical, 48 bits virtual
> > power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> > 
> > processor	: 8
> > vendor_id	: AuthenticAMD
> > cpu family	: 23
> > model		: 1
> > model name	: AMD Ryzen 7 1800X Eight-Core Processor
> > stepping	: 1
> > microcode	: 0x800111c
> > cpu MHz		: 2200.000
> > cache size	: 512 KB
> > physical id	: 0
> > siblings	: 16
> > core id		: 4
> > cpu cores	: 8
> > apicid		: 8
> > initial apicid	: 8
> > fpu		: yes
> > fpu_exception	: yes
> > cpuid level	: 13
> > wp		: yes
> > flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> > bugs		: fxsave_leak sysret_ss_attrs null_seg
> > bogomips	: 7186.66
> > TLB size	: 2560 4K pages
> > clflush size	: 64
> > cache_alignment	: 64
> > address sizes	: 48 bits physical, 48 bits virtual
> > power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> > 
> > processor	: 9
> > vendor_id	: AuthenticAMD
> > cpu family	: 23
> > model		: 1
> > model name	: AMD Ryzen 7 1800X Eight-Core Processor
> > stepping	: 1
> > microcode	: 0x800111c
> > cpu MHz		: 2200.000
> > cache size	: 512 KB
> > physical id	: 0
> > siblings	: 16
> > core id		: 4
> > cpu cores	: 8
> > apicid		: 9
> > initial apicid	: 9
> > fpu		: yes
> > fpu_exception	: yes
> > cpuid level	: 13
> > wp		: yes
> > flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> > bugs		: fxsave_leak sysret_ss_attrs null_seg
> > bogomips	: 7186.66
> > TLB size	: 2560 4K pages
> > clflush size	: 64
> > cache_alignment	: 64
> > address sizes	: 48 bits physical, 48 bits virtual
> > power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> > 
> > processor	: 10
> > vendor_id	: AuthenticAMD
> > cpu family	: 23
> > model		: 1
> > model name	: AMD Ryzen 7 1800X Eight-Core Processor
> > stepping	: 1
> > microcode	: 0x800111c
> > cpu MHz		: 2200.000
> > cache size	: 512 KB
> > physical id	: 0
> > siblings	: 16
> > core id		: 5
> > cpu cores	: 8
> > apicid		: 10
> > initial apicid	: 10
> > fpu		: yes
> > fpu_exception	: yes
> > cpuid level	: 13
> > wp		: yes
> > flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> > bugs		: fxsave_leak sysret_ss_attrs null_seg
> > bogomips	: 7186.66
> > TLB size	: 2560 4K pages
> > clflush size	: 64
> > cache_alignment	: 64
> > address sizes	: 48 bits physical, 48 bits virtual
> > power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> > 
> > processor	: 11
> > vendor_id	: AuthenticAMD
> > cpu family	: 23
> > model		: 1
> > model name	: AMD Ryzen 7 1800X Eight-Core Processor
> > stepping	: 1
> > microcode	: 0x800111c
> > cpu MHz		: 2200.000
> > cache size	: 512 KB
> > physical id	: 0
> > siblings	: 16
> > core id		: 5
> > cpu cores	: 8
> > apicid		: 11
> > initial apicid	: 11
> > fpu		: yes
> > fpu_exception	: yes
> > cpuid level	: 13
> > wp		: yes
> > flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> > bugs		: fxsave_leak sysret_ss_attrs null_seg
> > bogomips	: 7186.66
> > TLB size	: 2560 4K pages
> > clflush size	: 64
> > cache_alignment	: 64
> > address sizes	: 48 bits physical, 48 bits virtual
> > power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> > 
> > processor	: 12
> > vendor_id	: AuthenticAMD
> > cpu family	: 23
> > model		: 1
> > model name	: AMD Ryzen 7 1800X Eight-Core Processor
> > stepping	: 1
> > microcode	: 0x800111c
> > cpu MHz		: 2200.000
> > cache size	: 512 KB
> > physical id	: 0
> > siblings	: 16
> > core id		: 6
> > cpu cores	: 8
> > apicid		: 12
> > initial apicid	: 12
> > fpu		: yes
> > fpu_exception	: yes
> > cpuid level	: 13
> > wp		: yes
> > flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> > bugs		: fxsave_leak sysret_ss_attrs null_seg
> > bogomips	: 7186.66
> > TLB size	: 2560 4K pages
> > clflush size	: 64
> > cache_alignment	: 64
> > address sizes	: 48 bits physical, 48 bits virtual
> > power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> > 
> > processor	: 13
> > vendor_id	: AuthenticAMD
> > cpu family	: 23
> > model		: 1
> > model name	: AMD Ryzen 7 1800X Eight-Core Processor
> > stepping	: 1
> > microcode	: 0x800111c
> > cpu MHz		: 2200.000
> > cache size	: 512 KB
> > physical id	: 0
> > siblings	: 16
> > core id		: 6
> > cpu cores	: 8
> > apicid		: 13
> > initial apicid	: 13
> > fpu		: yes
> > fpu_exception	: yes
> > cpuid level	: 13
> > wp		: yes
> > flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> > bugs		: fxsave_leak sysret_ss_attrs null_seg
> > bogomips	: 7186.66
> > TLB size	: 2560 4K pages
> > clflush size	: 64
> > cache_alignment	: 64
> > address sizes	: 48 bits physical, 48 bits virtual
> > power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> > 
> > processor	: 14
> > vendor_id	: AuthenticAMD
> > cpu family	: 23
> > model		: 1
> > model name	: AMD Ryzen 7 1800X Eight-Core Processor
> > stepping	: 1
> > microcode	: 0x800111c
> > cpu MHz		: 2200.000
> > cache size	: 512 KB
> > physical id	: 0
> > siblings	: 16
> > core id		: 7
> > cpu cores	: 8
> > apicid		: 14
> > initial apicid	: 14
> > fpu		: yes
> > fpu_exception	: yes
> > cpuid level	: 13
> > wp		: yes
> > flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> > bugs		: fxsave_leak sysret_ss_attrs null_seg
> > bogomips	: 7186.66
> > TLB size	: 2560 4K pages
> > clflush size	: 64
> > cache_alignment	: 64
> > address sizes	: 48 bits physical, 48 bits virtual
> > power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> > 
> > processor	: 15
> > vendor_id	: AuthenticAMD
> > cpu family	: 23
> > model		: 1
> > model name	: AMD Ryzen 7 1800X Eight-Core Processor
> > stepping	: 1
> > microcode	: 0x800111c
> > cpu MHz		: 2200.000
> > cache size	: 512 KB
> > physical id	: 0
> > siblings	: 16
> > core id		: 7
> > cpu cores	: 8
> > apicid		: 15
> > initial apicid	: 15
> > fpu		: yes
> > fpu_exception	: yes
> > cpuid level	: 13
> > wp		: yes
> > flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> > bugs		: fxsave_leak sysret_ss_attrs null_seg
> > bogomips	: 7186.66
> > TLB size	: 2560 4K pages
> > clflush size	: 64
> > cache_alignment	: 64
> > address sizes	: 48 bits physical, 48 bits virtual
> > power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> > 
> > ```
> > 
> > Regards,
> > Satoru
> > 
> > 
> >>
> >> Thanks,
> >>
> >> Paolo

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

* Re: [BUG] x86: failed to boot a kernel on a Ryzen machine
  2017-04-27  0:42                 ` Satoru Takeuchi
@ 2017-04-28 13:34                   ` Paolo Bonzini
  2017-04-29 21:08                     ` Satoru Takeuchi
  0 siblings, 1 reply; 18+ messages in thread
From: Paolo Bonzini @ 2017-04-28 13:34 UTC (permalink / raw)
  To: Satoru Takeuchi
  Cc: Borislav Petkov, x86, linux-kernel, kvm ML, Jiri Denemark,
	Dr. David Alan Gilbert



On 27/04/2017 02:42, Satoru Takeuchi wrote:
> At Wed, 26 Apr 2017 18:58:27 +0200,
>> On 26/04/2017 13:47, Satoru Takeuchi wrote:
>>> OK, here it is.
>>
>> It looks like the cause is that AMD has removed TBM instructions
>> compared to e.g. Piledriver, so libvirt resorts to a much older base
>> model (thanks to Dave Gilbert for sorting through the list of feature bits).

... and the libvirt people also told me that:

- a more recent QEMU would have enabled CPU leaf 0xD, making it possible
to use AVX inside the guest.

- a more recent libvirt would have used Opteron_G5 as a base instead of
Opteron_G3.

Thanks,

Paolo

>> Can you please run this script:
>>
>> http://libvirt.org/git/?p=libvirt.git;a=blob_plain;f=tests/cputestdata/cpu-gather.sh;h=83963557ec4075d351be09e17994ac5300bc5d1f;hb=HEAD
>>
>> and send the output?
> 
> 
> OK. Here is the result.
> 
> ```
> # bash tests-cputestdata-cpu-gather.sh 
> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> CPU:
>    0x00000000 0x00: eax=0x0000000d ebx=0x68747541 ecx=0x444d4163 edx=0x69746e65
>    0x00000001 0x00: eax=0x00800f11 ebx=0x09100800 ecx=0x7ed8320b edx=0x178bfbff
>    0x00000002 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x00000003 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x00000005 0x00: eax=0x00000040 ebx=0x00000040 ecx=0x00000003 edx=0x00000000
>    0x00000006 0x00: eax=0x00000004 ebx=0x00000000 ecx=0x00000001 edx=0x00000000
>    0x00000007 0x00: eax=0x00000000 ebx=0x209c01a9 ecx=0x00000000 edx=0x00000000
>    0x00000008 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x00000009 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x0000000a 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x0000000c 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x0000000d 0x00: eax=0x00000007 ebx=0x00000340 ecx=0x00000340 edx=0x00000000
>    0x0000000d 0x01: eax=0x0000000f ebx=0x00000340 ecx=0x00000000 edx=0x00000000
>    0x0000000d 0x02: eax=0x00000100 ebx=0x00000240 ecx=0x00000000 edx=0x00000000
>    0x0000000d 0x03: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x80000000 0x00: eax=0x8000001f ebx=0x68747541 ecx=0x444d4163 edx=0x69746e65
>    0x80000001 0x00: eax=0x00800f11 ebx=0x20000000 ecx=0x35c233ff edx=0x2fd3fbff
>    0x80000002 0x00: eax=0x20444d41 ebx=0x657a7952 ecx=0x2037206e edx=0x30303831
>    0x80000003 0x00: eax=0x69452058 ebx=0x2d746867 ecx=0x65726f43 edx=0x6f725020
>    0x80000004 0x00: eax=0x73736563 ebx=0x2020726f ecx=0x20202020 edx=0x00202020
>    0x80000005 0x00: eax=0xff40ff40 ebx=0xff40ff40 ecx=0x20080140 edx=0x40040140
>    0x80000006 0x00: eax=0x26006400 ebx=0x66006400 ecx=0x02006140 edx=0x00808140
>    0x80000007 0x00: eax=0x00000000 ebx=0x0000001b ecx=0x00000000 edx=0x00006599
>    0x80000008 0x00: eax=0x00003030 ebx=0x00000007 ecx=0x0000400f edx=0x00000000
>    0x80000009 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x8000000a 0x00: eax=0x00000001 ebx=0x00008000 ecx=0x00000000 edx=0x0001bcff
>    0x8000000b 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x8000000c 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x8000000d 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x8000000e 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x8000000f 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x80000010 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x80000011 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x80000012 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x80000013 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x80000014 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x80000015 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x80000016 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x80000017 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x80000018 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x80000019 0x00: eax=0xf040f040 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x8000001a 0x00: eax=0x00000003 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x8000001b 0x00: eax=0x000003ff ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x8000001c 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0x8000001d 0x00: eax=0x00004121 ebx=0x01c0003f ecx=0x0000003f edx=0x00000000
>    0x8000001e 0x00: eax=0x00000009 ebx=0x00000104 ecx=0x00000000 edx=0x00000000
>    0x8000001f 0x00: eax=0x00000007 ebx=0x0000016f ecx=0x0000000f edx=0x00000000
>    0x80860000 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
>    0xc0000000 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> 
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 0]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 1]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 2]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 3]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 4]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 5]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 6]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 7]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 8]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 9]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 12]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 13]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 14]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 15]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 16]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 17]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 23]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 24]
> {"QMP": {"version": {"qemu": {"micro": 0, "minor": 5, "major": 2}, "package": " (Debian 1:2.5+dfsg-5ubuntu10.11)"}, "capabilities": []}}
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 0]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 1]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 2]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 3]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 4]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 5]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 6]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 7]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 8]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 9]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 12]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 13]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 14]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 15]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 16]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 17]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 23]
> warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 24]
> {"return": {}}
> {"return": [{"cpuid-register": "EAX", "cpuid-input-eax": 6, "features": 4}, {"cpuid-register": "EAX", "cpuid-input-ecx": 1, "cpuid-input-eax": 13, "features": 7}, {"cpuid-register": "EDX", "cpuid-input-eax": 2147483658, "features": 9}, {"cpuid-register": "EAX", "cpuid-input-eax": 1073741825, "features": 16777467}, {"cpuid-register": "EDX", "cpuid-input-eax": 3221225473, "features": 0}, {"cpuid-register": "EDX", "cpuid-input-eax": 2147483655, "features": 0}, {"cpuid-register": "ECX", "cpuid-input-eax": 2147483649, "features": 1015}, {"cpuid-register": "EDX", "cpuid-input-eax": 2147483649, "features": 776996864}, {"cpuid-register": "EBX", "cpuid-input-ecx": 0, "cpuid-input-eax": 7, "features": 10224043}, {"cpuid-register": "ECX", "cpuid-input-eax": 1, "features": 4160238083}, {"cpuid-register": "EDX", "cpuid-input-eax": 1, "features": 126614527}], "id": "feature-words"}
> {"return": 23, "id": "family"}
> {"return": 1, "id": "model"}
> {"return": 1, "id": "stepping"}
> {"return": "AMD Ryzen 7 1800X Eight-Core Processor         ", "id": "model-id"}
> {"return": {}}
> {"timestamp": {"seconds": 1493253066, "microseconds": 721689}, "event": "SHUTDOWN"}
> # 
> ```
> 
> Thanks,
> Satoru
> 
>>
>> Thanks,
>>
>> Paolo
>>
>>> ```
>>> $ cat /proc/cpuinfo 
>>> processor	: 0
>>> vendor_id	: AuthenticAMD
>>> cpu family	: 23
>>> model		: 1
>>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
>>> stepping	: 1
>>> microcode	: 0x800111c
>>> cpu MHz		: 2200.000
>>> cache size	: 512 KB
>>> physical id	: 0
>>> siblings	: 16
>>> core id		: 0
>>> cpu cores	: 8
>>> apicid		: 0
>>> initial apicid	: 0
>>> fpu		: yes
>>> fpu_exception	: yes
>>> cpuid level	: 13
>>> wp		: yes
>>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
>>> bugs		: fxsave_leak sysret_ss_attrs null_seg
>>> bogomips	: 7186.66
>>> TLB size	: 2560 4K pages
>>> clflush size	: 64
>>> cache_alignment	: 64
>>> address sizes	: 48 bits physical, 48 bits virtual
>>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
>>>
>>> processor	: 1
>>> vendor_id	: AuthenticAMD
>>> cpu family	: 23
>>> model		: 1
>>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
>>> stepping	: 1
>>> microcode	: 0x800111c
>>> cpu MHz		: 2200.000
>>> cache size	: 512 KB
>>> physical id	: 0
>>> siblings	: 16
>>> core id		: 0
>>> cpu cores	: 8
>>> apicid		: 1
>>> initial apicid	: 1
>>> fpu		: yes
>>> fpu_exception	: yes
>>> cpuid level	: 13
>>> wp		: yes
>>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
>>> bugs		: fxsave_leak sysret_ss_attrs null_seg
>>> bogomips	: 7186.66
>>> TLB size	: 2560 4K pages
>>> clflush size	: 64
>>> cache_alignment	: 64
>>> address sizes	: 48 bits physical, 48 bits virtual
>>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
>>>
>>> processor	: 2
>>> vendor_id	: AuthenticAMD
>>> cpu family	: 23
>>> model		: 1
>>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
>>> stepping	: 1
>>> microcode	: 0x800111c
>>> cpu MHz		: 2200.000
>>> cache size	: 512 KB
>>> physical id	: 0
>>> siblings	: 16
>>> core id		: 1
>>> cpu cores	: 8
>>> apicid		: 2
>>> initial apicid	: 2
>>> fpu		: yes
>>> fpu_exception	: yes
>>> cpuid level	: 13
>>> wp		: yes
>>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
>>> bugs		: fxsave_leak sysret_ss_attrs null_seg
>>> bogomips	: 7186.66
>>> TLB size	: 2560 4K pages
>>> clflush size	: 64
>>> cache_alignment	: 64
>>> address sizes	: 48 bits physical, 48 bits virtual
>>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
>>>
>>> processor	: 3
>>> vendor_id	: AuthenticAMD
>>> cpu family	: 23
>>> model		: 1
>>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
>>> stepping	: 1
>>> microcode	: 0x800111c
>>> cpu MHz		: 2200.000
>>> cache size	: 512 KB
>>> physical id	: 0
>>> siblings	: 16
>>> core id		: 1
>>> cpu cores	: 8
>>> apicid		: 3
>>> initial apicid	: 3
>>> fpu		: yes
>>> fpu_exception	: yes
>>> cpuid level	: 13
>>> wp		: yes
>>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
>>> bugs		: fxsave_leak sysret_ss_attrs null_seg
>>> bogomips	: 7186.66
>>> TLB size	: 2560 4K pages
>>> clflush size	: 64
>>> cache_alignment	: 64
>>> address sizes	: 48 bits physical, 48 bits virtual
>>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
>>>
>>> processor	: 4
>>> vendor_id	: AuthenticAMD
>>> cpu family	: 23
>>> model		: 1
>>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
>>> stepping	: 1
>>> microcode	: 0x800111c
>>> cpu MHz		: 2200.000
>>> cache size	: 512 KB
>>> physical id	: 0
>>> siblings	: 16
>>> core id		: 2
>>> cpu cores	: 8
>>> apicid		: 4
>>> initial apicid	: 4
>>> fpu		: yes
>>> fpu_exception	: yes
>>> cpuid level	: 13
>>> wp		: yes
>>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
>>> bugs		: fxsave_leak sysret_ss_attrs null_seg
>>> bogomips	: 7186.66
>>> TLB size	: 2560 4K pages
>>> clflush size	: 64
>>> cache_alignment	: 64
>>> address sizes	: 48 bits physical, 48 bits virtual
>>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
>>>
>>> processor	: 5
>>> vendor_id	: AuthenticAMD
>>> cpu family	: 23
>>> model		: 1
>>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
>>> stepping	: 1
>>> microcode	: 0x800111c
>>> cpu MHz		: 2200.000
>>> cache size	: 512 KB
>>> physical id	: 0
>>> siblings	: 16
>>> core id		: 2
>>> cpu cores	: 8
>>> apicid		: 5
>>> initial apicid	: 5
>>> fpu		: yes
>>> fpu_exception	: yes
>>> cpuid level	: 13
>>> wp		: yes
>>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
>>> bugs		: fxsave_leak sysret_ss_attrs null_seg
>>> bogomips	: 7186.66
>>> TLB size	: 2560 4K pages
>>> clflush size	: 64
>>> cache_alignment	: 64
>>> address sizes	: 48 bits physical, 48 bits virtual
>>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
>>>
>>> processor	: 6
>>> vendor_id	: AuthenticAMD
>>> cpu family	: 23
>>> model		: 1
>>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
>>> stepping	: 1
>>> microcode	: 0x800111c
>>> cpu MHz		: 2200.000
>>> cache size	: 512 KB
>>> physical id	: 0
>>> siblings	: 16
>>> core id		: 3
>>> cpu cores	: 8
>>> apicid		: 6
>>> initial apicid	: 6
>>> fpu		: yes
>>> fpu_exception	: yes
>>> cpuid level	: 13
>>> wp		: yes
>>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
>>> bugs		: fxsave_leak sysret_ss_attrs null_seg
>>> bogomips	: 7186.66
>>> TLB size	: 2560 4K pages
>>> clflush size	: 64
>>> cache_alignment	: 64
>>> address sizes	: 48 bits physical, 48 bits virtual
>>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
>>>
>>> processor	: 7
>>> vendor_id	: AuthenticAMD
>>> cpu family	: 23
>>> model		: 1
>>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
>>> stepping	: 1
>>> microcode	: 0x800111c
>>> cpu MHz		: 2200.000
>>> cache size	: 512 KB
>>> physical id	: 0
>>> siblings	: 16
>>> core id		: 3
>>> cpu cores	: 8
>>> apicid		: 7
>>> initial apicid	: 7
>>> fpu		: yes
>>> fpu_exception	: yes
>>> cpuid level	: 13
>>> wp		: yes
>>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
>>> bugs		: fxsave_leak sysret_ss_attrs null_seg
>>> bogomips	: 7186.66
>>> TLB size	: 2560 4K pages
>>> clflush size	: 64
>>> cache_alignment	: 64
>>> address sizes	: 48 bits physical, 48 bits virtual
>>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
>>>
>>> processor	: 8
>>> vendor_id	: AuthenticAMD
>>> cpu family	: 23
>>> model		: 1
>>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
>>> stepping	: 1
>>> microcode	: 0x800111c
>>> cpu MHz		: 2200.000
>>> cache size	: 512 KB
>>> physical id	: 0
>>> siblings	: 16
>>> core id		: 4
>>> cpu cores	: 8
>>> apicid		: 8
>>> initial apicid	: 8
>>> fpu		: yes
>>> fpu_exception	: yes
>>> cpuid level	: 13
>>> wp		: yes
>>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
>>> bugs		: fxsave_leak sysret_ss_attrs null_seg
>>> bogomips	: 7186.66
>>> TLB size	: 2560 4K pages
>>> clflush size	: 64
>>> cache_alignment	: 64
>>> address sizes	: 48 bits physical, 48 bits virtual
>>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
>>>
>>> processor	: 9
>>> vendor_id	: AuthenticAMD
>>> cpu family	: 23
>>> model		: 1
>>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
>>> stepping	: 1
>>> microcode	: 0x800111c
>>> cpu MHz		: 2200.000
>>> cache size	: 512 KB
>>> physical id	: 0
>>> siblings	: 16
>>> core id		: 4
>>> cpu cores	: 8
>>> apicid		: 9
>>> initial apicid	: 9
>>> fpu		: yes
>>> fpu_exception	: yes
>>> cpuid level	: 13
>>> wp		: yes
>>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
>>> bugs		: fxsave_leak sysret_ss_attrs null_seg
>>> bogomips	: 7186.66
>>> TLB size	: 2560 4K pages
>>> clflush size	: 64
>>> cache_alignment	: 64
>>> address sizes	: 48 bits physical, 48 bits virtual
>>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
>>>
>>> processor	: 10
>>> vendor_id	: AuthenticAMD
>>> cpu family	: 23
>>> model		: 1
>>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
>>> stepping	: 1
>>> microcode	: 0x800111c
>>> cpu MHz		: 2200.000
>>> cache size	: 512 KB
>>> physical id	: 0
>>> siblings	: 16
>>> core id		: 5
>>> cpu cores	: 8
>>> apicid		: 10
>>> initial apicid	: 10
>>> fpu		: yes
>>> fpu_exception	: yes
>>> cpuid level	: 13
>>> wp		: yes
>>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
>>> bugs		: fxsave_leak sysret_ss_attrs null_seg
>>> bogomips	: 7186.66
>>> TLB size	: 2560 4K pages
>>> clflush size	: 64
>>> cache_alignment	: 64
>>> address sizes	: 48 bits physical, 48 bits virtual
>>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
>>>
>>> processor	: 11
>>> vendor_id	: AuthenticAMD
>>> cpu family	: 23
>>> model		: 1
>>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
>>> stepping	: 1
>>> microcode	: 0x800111c
>>> cpu MHz		: 2200.000
>>> cache size	: 512 KB
>>> physical id	: 0
>>> siblings	: 16
>>> core id		: 5
>>> cpu cores	: 8
>>> apicid		: 11
>>> initial apicid	: 11
>>> fpu		: yes
>>> fpu_exception	: yes
>>> cpuid level	: 13
>>> wp		: yes
>>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
>>> bugs		: fxsave_leak sysret_ss_attrs null_seg
>>> bogomips	: 7186.66
>>> TLB size	: 2560 4K pages
>>> clflush size	: 64
>>> cache_alignment	: 64
>>> address sizes	: 48 bits physical, 48 bits virtual
>>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
>>>
>>> processor	: 12
>>> vendor_id	: AuthenticAMD
>>> cpu family	: 23
>>> model		: 1
>>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
>>> stepping	: 1
>>> microcode	: 0x800111c
>>> cpu MHz		: 2200.000
>>> cache size	: 512 KB
>>> physical id	: 0
>>> siblings	: 16
>>> core id		: 6
>>> cpu cores	: 8
>>> apicid		: 12
>>> initial apicid	: 12
>>> fpu		: yes
>>> fpu_exception	: yes
>>> cpuid level	: 13
>>> wp		: yes
>>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
>>> bugs		: fxsave_leak sysret_ss_attrs null_seg
>>> bogomips	: 7186.66
>>> TLB size	: 2560 4K pages
>>> clflush size	: 64
>>> cache_alignment	: 64
>>> address sizes	: 48 bits physical, 48 bits virtual
>>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
>>>
>>> processor	: 13
>>> vendor_id	: AuthenticAMD
>>> cpu family	: 23
>>> model		: 1
>>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
>>> stepping	: 1
>>> microcode	: 0x800111c
>>> cpu MHz		: 2200.000
>>> cache size	: 512 KB
>>> physical id	: 0
>>> siblings	: 16
>>> core id		: 6
>>> cpu cores	: 8
>>> apicid		: 13
>>> initial apicid	: 13
>>> fpu		: yes
>>> fpu_exception	: yes
>>> cpuid level	: 13
>>> wp		: yes
>>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
>>> bugs		: fxsave_leak sysret_ss_attrs null_seg
>>> bogomips	: 7186.66
>>> TLB size	: 2560 4K pages
>>> clflush size	: 64
>>> cache_alignment	: 64
>>> address sizes	: 48 bits physical, 48 bits virtual
>>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
>>>
>>> processor	: 14
>>> vendor_id	: AuthenticAMD
>>> cpu family	: 23
>>> model		: 1
>>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
>>> stepping	: 1
>>> microcode	: 0x800111c
>>> cpu MHz		: 2200.000
>>> cache size	: 512 KB
>>> physical id	: 0
>>> siblings	: 16
>>> core id		: 7
>>> cpu cores	: 8
>>> apicid		: 14
>>> initial apicid	: 14
>>> fpu		: yes
>>> fpu_exception	: yes
>>> cpuid level	: 13
>>> wp		: yes
>>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
>>> bugs		: fxsave_leak sysret_ss_attrs null_seg
>>> bogomips	: 7186.66
>>> TLB size	: 2560 4K pages
>>> clflush size	: 64
>>> cache_alignment	: 64
>>> address sizes	: 48 bits physical, 48 bits virtual
>>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
>>>
>>> processor	: 15
>>> vendor_id	: AuthenticAMD
>>> cpu family	: 23
>>> model		: 1
>>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
>>> stepping	: 1
>>> microcode	: 0x800111c
>>> cpu MHz		: 2200.000
>>> cache size	: 512 KB
>>> physical id	: 0
>>> siblings	: 16
>>> core id		: 7
>>> cpu cores	: 8
>>> apicid		: 15
>>> initial apicid	: 15
>>> fpu		: yes
>>> fpu_exception	: yes
>>> cpuid level	: 13
>>> wp		: yes
>>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
>>> bugs		: fxsave_leak sysret_ss_attrs null_seg
>>> bogomips	: 7186.66
>>> TLB size	: 2560 4K pages
>>> clflush size	: 64
>>> cache_alignment	: 64
>>> address sizes	: 48 bits physical, 48 bits virtual
>>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
>>>
>>> ```
>>>
>>> Regards,
>>> Satoru
>>>
>>>
>>>>
>>>> Thanks,
>>>>
>>>> Paolo

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

* Re: [BUG] x86: failed to boot a kernel on a Ryzen machine
  2017-04-28 13:34                   ` Paolo Bonzini
@ 2017-04-29 21:08                     ` Satoru Takeuchi
  0 siblings, 0 replies; 18+ messages in thread
From: Satoru Takeuchi @ 2017-04-29 21:08 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Satoru Takeuchi, Borislav Petkov, x86, linux-kernel, kvm ML,
	Jiri Denemark, Dr. David Alan Gilbert

At Fri, 28 Apr 2017 15:34:06 +0200,
Paolo Bonzini wrote:
> 
> 
> 
> On 27/04/2017 02:42, Satoru Takeuchi wrote:
> > At Wed, 26 Apr 2017 18:58:27 +0200,
> >> On 26/04/2017 13:47, Satoru Takeuchi wrote:
> >>> OK, here it is.
> >>
> >> It looks like the cause is that AMD has removed TBM instructions
> >> compared to e.g. Piledriver, so libvirt resorts to a much older base
> >> model (thanks to Dave Gilbert for sorting through the list of feature bits).
> 
> ... and the libvirt people also told me that:
> 
> - a more recent QEMU would have enabled CPU leaf 0xD, making it possible
> to use AVX inside the guest.
> 
> - a more recent libvirt would have used Opteron_G5 as a base instead of
> Opteron_G3.

Oh, thank you for letting me know!

Satoru

> 
> Thanks,
> 
> Paolo
> 
> >> Can you please run this script:
> >>
> >> http://libvirt.org/git/?p=libvirt.git;a=blob_plain;f=tests/cputestdata/cpu-gather.sh;h=83963557ec4075d351be09e17994ac5300bc5d1f;hb=HEAD
> >>
> >> and send the output?
> > 
> > 
> > OK. Here is the result.
> > 
> > ```
> > # bash tests-cputestdata-cpu-gather.sh 
> > model name	: AMD Ryzen 7 1800X Eight-Core Processor
> > CPU:
> >    0x00000000 0x00: eax=0x0000000d ebx=0x68747541 ecx=0x444d4163 edx=0x69746e65
> >    0x00000001 0x00: eax=0x00800f11 ebx=0x09100800 ecx=0x7ed8320b edx=0x178bfbff
> >    0x00000002 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x00000003 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x00000005 0x00: eax=0x00000040 ebx=0x00000040 ecx=0x00000003 edx=0x00000000
> >    0x00000006 0x00: eax=0x00000004 ebx=0x00000000 ecx=0x00000001 edx=0x00000000
> >    0x00000007 0x00: eax=0x00000000 ebx=0x209c01a9 ecx=0x00000000 edx=0x00000000
> >    0x00000008 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x00000009 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x0000000a 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x0000000c 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x0000000d 0x00: eax=0x00000007 ebx=0x00000340 ecx=0x00000340 edx=0x00000000
> >    0x0000000d 0x01: eax=0x0000000f ebx=0x00000340 ecx=0x00000000 edx=0x00000000
> >    0x0000000d 0x02: eax=0x00000100 ebx=0x00000240 ecx=0x00000000 edx=0x00000000
> >    0x0000000d 0x03: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x80000000 0x00: eax=0x8000001f ebx=0x68747541 ecx=0x444d4163 edx=0x69746e65
> >    0x80000001 0x00: eax=0x00800f11 ebx=0x20000000 ecx=0x35c233ff edx=0x2fd3fbff
> >    0x80000002 0x00: eax=0x20444d41 ebx=0x657a7952 ecx=0x2037206e edx=0x30303831
> >    0x80000003 0x00: eax=0x69452058 ebx=0x2d746867 ecx=0x65726f43 edx=0x6f725020
> >    0x80000004 0x00: eax=0x73736563 ebx=0x2020726f ecx=0x20202020 edx=0x00202020
> >    0x80000005 0x00: eax=0xff40ff40 ebx=0xff40ff40 ecx=0x20080140 edx=0x40040140
> >    0x80000006 0x00: eax=0x26006400 ebx=0x66006400 ecx=0x02006140 edx=0x00808140
> >    0x80000007 0x00: eax=0x00000000 ebx=0x0000001b ecx=0x00000000 edx=0x00006599
> >    0x80000008 0x00: eax=0x00003030 ebx=0x00000007 ecx=0x0000400f edx=0x00000000
> >    0x80000009 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x8000000a 0x00: eax=0x00000001 ebx=0x00008000 ecx=0x00000000 edx=0x0001bcff
> >    0x8000000b 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x8000000c 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x8000000d 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x8000000e 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x8000000f 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x80000010 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x80000011 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x80000012 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x80000013 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x80000014 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x80000015 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x80000016 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x80000017 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x80000018 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x80000019 0x00: eax=0xf040f040 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x8000001a 0x00: eax=0x00000003 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x8000001b 0x00: eax=0x000003ff ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x8000001c 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0x8000001d 0x00: eax=0x00004121 ebx=0x01c0003f ecx=0x0000003f edx=0x00000000
> >    0x8000001e 0x00: eax=0x00000009 ebx=0x00000104 ecx=0x00000000 edx=0x00000000
> >    0x8000001f 0x00: eax=0x00000007 ebx=0x0000016f ecx=0x0000000f edx=0x00000000
> >    0x80860000 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> >    0xc0000000 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
> > 
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 0]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 1]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 2]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 3]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 4]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 5]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 6]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 7]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 8]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 9]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 12]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 13]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 14]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 15]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 16]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 17]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 23]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 24]
> > {"QMP": {"version": {"qemu": {"micro": 0, "minor": 5, "major": 2}, "package": " (Debian 1:2.5+dfsg-5ubuntu10.11)"}, "capabilities": []}}
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 0]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 1]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 2]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 3]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 4]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 5]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 6]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 7]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 8]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 9]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 12]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 13]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 14]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 15]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 16]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 17]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 23]
> > warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 24]
> > {"return": {}}
> > {"return": [{"cpuid-register": "EAX", "cpuid-input-eax": 6, "features": 4}, {"cpuid-register": "EAX", "cpuid-input-ecx": 1, "cpuid-input-eax": 13, "features": 7}, {"cpuid-register": "EDX", "cpuid-input-eax": 2147483658, "features": 9}, {"cpuid-register": "EAX", "cpuid-input-eax": 1073741825, "features": 16777467}, {"cpuid-register": "EDX", "cpuid-input-eax": 3221225473, "features": 0}, {"cpuid-register": "EDX", "cpuid-input-eax": 2147483655, "features": 0}, {"cpuid-register": "ECX", "cpuid-input-eax": 2147483649, "features": 1015}, {"cpuid-register": "EDX", "cpuid-input-eax": 2147483649, "features": 776996864}, {"cpuid-register": "EBX", "cpuid-input-ecx": 0, "cpuid-input-eax": 7, "features": 10224043}, {"cpuid-register": "ECX", "cpuid-input-eax": 1, "features": 4160238083}, {"cpuid-register": "EDX", "cpuid-input-eax": 1, "features": 126614527}], "id": "feature-words"}
> > {"return": 23, "id": "family"}
> > {"return": 1, "id": "model"}
> > {"return": 1, "id": "stepping"}
> > {"return": "AMD Ryzen 7 1800X Eight-Core Processor         ", "id": "model-id"}
> > {"return": {}}
> > {"timestamp": {"seconds": 1493253066, "microseconds": 721689}, "event": "SHUTDOWN"}
> > # 
> > ```
> > 
> > Thanks,
> > Satoru
> > 
> >>
> >> Thanks,
> >>
> >> Paolo
> >>
> >>> ```
> >>> $ cat /proc/cpuinfo 
> >>> processor	: 0
> >>> vendor_id	: AuthenticAMD
> >>> cpu family	: 23
> >>> model		: 1
> >>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> >>> stepping	: 1
> >>> microcode	: 0x800111c
> >>> cpu MHz		: 2200.000
> >>> cache size	: 512 KB
> >>> physical id	: 0
> >>> siblings	: 16
> >>> core id		: 0
> >>> cpu cores	: 8
> >>> apicid		: 0
> >>> initial apicid	: 0
> >>> fpu		: yes
> >>> fpu_exception	: yes
> >>> cpuid level	: 13
> >>> wp		: yes
> >>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> >>> bugs		: fxsave_leak sysret_ss_attrs null_seg
> >>> bogomips	: 7186.66
> >>> TLB size	: 2560 4K pages
> >>> clflush size	: 64
> >>> cache_alignment	: 64
> >>> address sizes	: 48 bits physical, 48 bits virtual
> >>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> >>>
> >>> processor	: 1
> >>> vendor_id	: AuthenticAMD
> >>> cpu family	: 23
> >>> model		: 1
> >>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> >>> stepping	: 1
> >>> microcode	: 0x800111c
> >>> cpu MHz		: 2200.000
> >>> cache size	: 512 KB
> >>> physical id	: 0
> >>> siblings	: 16
> >>> core id		: 0
> >>> cpu cores	: 8
> >>> apicid		: 1
> >>> initial apicid	: 1
> >>> fpu		: yes
> >>> fpu_exception	: yes
> >>> cpuid level	: 13
> >>> wp		: yes
> >>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> >>> bugs		: fxsave_leak sysret_ss_attrs null_seg
> >>> bogomips	: 7186.66
> >>> TLB size	: 2560 4K pages
> >>> clflush size	: 64
> >>> cache_alignment	: 64
> >>> address sizes	: 48 bits physical, 48 bits virtual
> >>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> >>>
> >>> processor	: 2
> >>> vendor_id	: AuthenticAMD
> >>> cpu family	: 23
> >>> model		: 1
> >>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> >>> stepping	: 1
> >>> microcode	: 0x800111c
> >>> cpu MHz		: 2200.000
> >>> cache size	: 512 KB
> >>> physical id	: 0
> >>> siblings	: 16
> >>> core id		: 1
> >>> cpu cores	: 8
> >>> apicid		: 2
> >>> initial apicid	: 2
> >>> fpu		: yes
> >>> fpu_exception	: yes
> >>> cpuid level	: 13
> >>> wp		: yes
> >>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> >>> bugs		: fxsave_leak sysret_ss_attrs null_seg
> >>> bogomips	: 7186.66
> >>> TLB size	: 2560 4K pages
> >>> clflush size	: 64
> >>> cache_alignment	: 64
> >>> address sizes	: 48 bits physical, 48 bits virtual
> >>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> >>>
> >>> processor	: 3
> >>> vendor_id	: AuthenticAMD
> >>> cpu family	: 23
> >>> model		: 1
> >>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> >>> stepping	: 1
> >>> microcode	: 0x800111c
> >>> cpu MHz		: 2200.000
> >>> cache size	: 512 KB
> >>> physical id	: 0
> >>> siblings	: 16
> >>> core id		: 1
> >>> cpu cores	: 8
> >>> apicid		: 3
> >>> initial apicid	: 3
> >>> fpu		: yes
> >>> fpu_exception	: yes
> >>> cpuid level	: 13
> >>> wp		: yes
> >>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> >>> bugs		: fxsave_leak sysret_ss_attrs null_seg
> >>> bogomips	: 7186.66
> >>> TLB size	: 2560 4K pages
> >>> clflush size	: 64
> >>> cache_alignment	: 64
> >>> address sizes	: 48 bits physical, 48 bits virtual
> >>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> >>>
> >>> processor	: 4
> >>> vendor_id	: AuthenticAMD
> >>> cpu family	: 23
> >>> model		: 1
> >>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> >>> stepping	: 1
> >>> microcode	: 0x800111c
> >>> cpu MHz		: 2200.000
> >>> cache size	: 512 KB
> >>> physical id	: 0
> >>> siblings	: 16
> >>> core id		: 2
> >>> cpu cores	: 8
> >>> apicid		: 4
> >>> initial apicid	: 4
> >>> fpu		: yes
> >>> fpu_exception	: yes
> >>> cpuid level	: 13
> >>> wp		: yes
> >>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> >>> bugs		: fxsave_leak sysret_ss_attrs null_seg
> >>> bogomips	: 7186.66
> >>> TLB size	: 2560 4K pages
> >>> clflush size	: 64
> >>> cache_alignment	: 64
> >>> address sizes	: 48 bits physical, 48 bits virtual
> >>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> >>>
> >>> processor	: 5
> >>> vendor_id	: AuthenticAMD
> >>> cpu family	: 23
> >>> model		: 1
> >>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> >>> stepping	: 1
> >>> microcode	: 0x800111c
> >>> cpu MHz		: 2200.000
> >>> cache size	: 512 KB
> >>> physical id	: 0
> >>> siblings	: 16
> >>> core id		: 2
> >>> cpu cores	: 8
> >>> apicid		: 5
> >>> initial apicid	: 5
> >>> fpu		: yes
> >>> fpu_exception	: yes
> >>> cpuid level	: 13
> >>> wp		: yes
> >>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> >>> bugs		: fxsave_leak sysret_ss_attrs null_seg
> >>> bogomips	: 7186.66
> >>> TLB size	: 2560 4K pages
> >>> clflush size	: 64
> >>> cache_alignment	: 64
> >>> address sizes	: 48 bits physical, 48 bits virtual
> >>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> >>>
> >>> processor	: 6
> >>> vendor_id	: AuthenticAMD
> >>> cpu family	: 23
> >>> model		: 1
> >>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> >>> stepping	: 1
> >>> microcode	: 0x800111c
> >>> cpu MHz		: 2200.000
> >>> cache size	: 512 KB
> >>> physical id	: 0
> >>> siblings	: 16
> >>> core id		: 3
> >>> cpu cores	: 8
> >>> apicid		: 6
> >>> initial apicid	: 6
> >>> fpu		: yes
> >>> fpu_exception	: yes
> >>> cpuid level	: 13
> >>> wp		: yes
> >>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> >>> bugs		: fxsave_leak sysret_ss_attrs null_seg
> >>> bogomips	: 7186.66
> >>> TLB size	: 2560 4K pages
> >>> clflush size	: 64
> >>> cache_alignment	: 64
> >>> address sizes	: 48 bits physical, 48 bits virtual
> >>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> >>>
> >>> processor	: 7
> >>> vendor_id	: AuthenticAMD
> >>> cpu family	: 23
> >>> model		: 1
> >>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> >>> stepping	: 1
> >>> microcode	: 0x800111c
> >>> cpu MHz		: 2200.000
> >>> cache size	: 512 KB
> >>> physical id	: 0
> >>> siblings	: 16
> >>> core id		: 3
> >>> cpu cores	: 8
> >>> apicid		: 7
> >>> initial apicid	: 7
> >>> fpu		: yes
> >>> fpu_exception	: yes
> >>> cpuid level	: 13
> >>> wp		: yes
> >>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> >>> bugs		: fxsave_leak sysret_ss_attrs null_seg
> >>> bogomips	: 7186.66
> >>> TLB size	: 2560 4K pages
> >>> clflush size	: 64
> >>> cache_alignment	: 64
> >>> address sizes	: 48 bits physical, 48 bits virtual
> >>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> >>>
> >>> processor	: 8
> >>> vendor_id	: AuthenticAMD
> >>> cpu family	: 23
> >>> model		: 1
> >>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> >>> stepping	: 1
> >>> microcode	: 0x800111c
> >>> cpu MHz		: 2200.000
> >>> cache size	: 512 KB
> >>> physical id	: 0
> >>> siblings	: 16
> >>> core id		: 4
> >>> cpu cores	: 8
> >>> apicid		: 8
> >>> initial apicid	: 8
> >>> fpu		: yes
> >>> fpu_exception	: yes
> >>> cpuid level	: 13
> >>> wp		: yes
> >>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> >>> bugs		: fxsave_leak sysret_ss_attrs null_seg
> >>> bogomips	: 7186.66
> >>> TLB size	: 2560 4K pages
> >>> clflush size	: 64
> >>> cache_alignment	: 64
> >>> address sizes	: 48 bits physical, 48 bits virtual
> >>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> >>>
> >>> processor	: 9
> >>> vendor_id	: AuthenticAMD
> >>> cpu family	: 23
> >>> model		: 1
> >>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> >>> stepping	: 1
> >>> microcode	: 0x800111c
> >>> cpu MHz		: 2200.000
> >>> cache size	: 512 KB
> >>> physical id	: 0
> >>> siblings	: 16
> >>> core id		: 4
> >>> cpu cores	: 8
> >>> apicid		: 9
> >>> initial apicid	: 9
> >>> fpu		: yes
> >>> fpu_exception	: yes
> >>> cpuid level	: 13
> >>> wp		: yes
> >>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> >>> bugs		: fxsave_leak sysret_ss_attrs null_seg
> >>> bogomips	: 7186.66
> >>> TLB size	: 2560 4K pages
> >>> clflush size	: 64
> >>> cache_alignment	: 64
> >>> address sizes	: 48 bits physical, 48 bits virtual
> >>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> >>>
> >>> processor	: 10
> >>> vendor_id	: AuthenticAMD
> >>> cpu family	: 23
> >>> model		: 1
> >>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> >>> stepping	: 1
> >>> microcode	: 0x800111c
> >>> cpu MHz		: 2200.000
> >>> cache size	: 512 KB
> >>> physical id	: 0
> >>> siblings	: 16
> >>> core id		: 5
> >>> cpu cores	: 8
> >>> apicid		: 10
> >>> initial apicid	: 10
> >>> fpu		: yes
> >>> fpu_exception	: yes
> >>> cpuid level	: 13
> >>> wp		: yes
> >>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> >>> bugs		: fxsave_leak sysret_ss_attrs null_seg
> >>> bogomips	: 7186.66
> >>> TLB size	: 2560 4K pages
> >>> clflush size	: 64
> >>> cache_alignment	: 64
> >>> address sizes	: 48 bits physical, 48 bits virtual
> >>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> >>>
> >>> processor	: 11
> >>> vendor_id	: AuthenticAMD
> >>> cpu family	: 23
> >>> model		: 1
> >>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> >>> stepping	: 1
> >>> microcode	: 0x800111c
> >>> cpu MHz		: 2200.000
> >>> cache size	: 512 KB
> >>> physical id	: 0
> >>> siblings	: 16
> >>> core id		: 5
> >>> cpu cores	: 8
> >>> apicid		: 11
> >>> initial apicid	: 11
> >>> fpu		: yes
> >>> fpu_exception	: yes
> >>> cpuid level	: 13
> >>> wp		: yes
> >>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> >>> bugs		: fxsave_leak sysret_ss_attrs null_seg
> >>> bogomips	: 7186.66
> >>> TLB size	: 2560 4K pages
> >>> clflush size	: 64
> >>> cache_alignment	: 64
> >>> address sizes	: 48 bits physical, 48 bits virtual
> >>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> >>>
> >>> processor	: 12
> >>> vendor_id	: AuthenticAMD
> >>> cpu family	: 23
> >>> model		: 1
> >>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> >>> stepping	: 1
> >>> microcode	: 0x800111c
> >>> cpu MHz		: 2200.000
> >>> cache size	: 512 KB
> >>> physical id	: 0
> >>> siblings	: 16
> >>> core id		: 6
> >>> cpu cores	: 8
> >>> apicid		: 12
> >>> initial apicid	: 12
> >>> fpu		: yes
> >>> fpu_exception	: yes
> >>> cpuid level	: 13
> >>> wp		: yes
> >>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> >>> bugs		: fxsave_leak sysret_ss_attrs null_seg
> >>> bogomips	: 7186.66
> >>> TLB size	: 2560 4K pages
> >>> clflush size	: 64
> >>> cache_alignment	: 64
> >>> address sizes	: 48 bits physical, 48 bits virtual
> >>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> >>>
> >>> processor	: 13
> >>> vendor_id	: AuthenticAMD
> >>> cpu family	: 23
> >>> model		: 1
> >>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> >>> stepping	: 1
> >>> microcode	: 0x800111c
> >>> cpu MHz		: 2200.000
> >>> cache size	: 512 KB
> >>> physical id	: 0
> >>> siblings	: 16
> >>> core id		: 6
> >>> cpu cores	: 8
> >>> apicid		: 13
> >>> initial apicid	: 13
> >>> fpu		: yes
> >>> fpu_exception	: yes
> >>> cpuid level	: 13
> >>> wp		: yes
> >>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> >>> bugs		: fxsave_leak sysret_ss_attrs null_seg
> >>> bogomips	: 7186.66
> >>> TLB size	: 2560 4K pages
> >>> clflush size	: 64
> >>> cache_alignment	: 64
> >>> address sizes	: 48 bits physical, 48 bits virtual
> >>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> >>>
> >>> processor	: 14
> >>> vendor_id	: AuthenticAMD
> >>> cpu family	: 23
> >>> model		: 1
> >>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> >>> stepping	: 1
> >>> microcode	: 0x800111c
> >>> cpu MHz		: 2200.000
> >>> cache size	: 512 KB
> >>> physical id	: 0
> >>> siblings	: 16
> >>> core id		: 7
> >>> cpu cores	: 8
> >>> apicid		: 14
> >>> initial apicid	: 14
> >>> fpu		: yes
> >>> fpu_exception	: yes
> >>> cpuid level	: 13
> >>> wp		: yes
> >>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> >>> bugs		: fxsave_leak sysret_ss_attrs null_seg
> >>> bogomips	: 7186.66
> >>> TLB size	: 2560 4K pages
> >>> clflush size	: 64
> >>> cache_alignment	: 64
> >>> address sizes	: 48 bits physical, 48 bits virtual
> >>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> >>>
> >>> processor	: 15
> >>> vendor_id	: AuthenticAMD
> >>> cpu family	: 23
> >>> model		: 1
> >>> model name	: AMD Ryzen 7 1800X Eight-Core Processor
> >>> stepping	: 1
> >>> microcode	: 0x800111c
> >>> cpu MHz		: 2200.000
> >>> cache size	: 512 KB
> >>> physical id	: 0
> >>> siblings	: 16
> >>> core id		: 7
> >>> cpu cores	: 8
> >>> apicid		: 15
> >>> initial apicid	: 15
> >>> fpu		: yes
> >>> fpu_exception	: yes
> >>> cpuid level	: 13
> >>> wp		: yes
> >>> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca
> >>> bugs		: fxsave_leak sysret_ss_attrs null_seg
> >>> bogomips	: 7186.66
> >>> TLB size	: 2560 4K pages
> >>> clflush size	: 64
> >>> cache_alignment	: 64
> >>> address sizes	: 48 bits physical, 48 bits virtual
> >>> power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
> >>>
> >>> ```
> >>>
> >>> Regards,
> >>> Satoru
> >>>
> >>>
> >>>>
> >>>> Thanks,
> >>>>
> >>>> Paolo

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

end of thread, other threads:[~2017-04-29 21:09 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-24  6:58 [BUG] x86: failed to boot a kernel on a Ryzen machine Satoru Takeuchi
2017-04-24 11:07 ` Borislav Petkov
2017-04-24 12:39   ` Satoru Takeuchi
2017-04-24 12:48     ` Borislav Petkov
2017-04-24 13:09       ` Satoru Takeuchi
2017-04-25  9:36         ` Borislav Petkov
2017-04-26  7:48           ` Paolo Bonzini
2017-04-26  8:14             ` Borislav Petkov
2017-04-26 11:47             ` Satoru Takeuchi
2017-04-26 16:58               ` Paolo Bonzini
2017-04-27  0:42                 ` Satoru Takeuchi
2017-04-28 13:34                   ` Paolo Bonzini
2017-04-29 21:08                     ` Satoru Takeuchi
2017-04-25 14:58         ` Masami Hiramatsu
2017-04-26 11:56           ` Satoru Takeuchi
2017-04-26 12:51             ` Borislav Petkov
2017-04-24 11:27 ` Satoru Takeuchi
2017-04-25  7:45   ` Jon Masters

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).