From: Satoru Takeuchi <satoru.takeuchi@gmail.com>
To: x86@kernel.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org
Subject: Re: [BUG] x86: failed to boot a kernel on a Ryzen machine
Date: Mon, 24 Apr 2017 20:27:01 +0900 [thread overview]
Message-ID: <87vapu2ghm.wl-satoru.takeuchi@gmail.com> (raw)
In-Reply-To: <87pog21ede.wl-satoru.takeuchi@gmail.com>
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
next prev parent reply other threads:[~2017-04-24 11:27 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
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-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-27 0:42 ` Satoru Takeuchi
2017-04-28 13:34 ` Paolo Bonzini
2017-04-28 13:34 ` Paolo Bonzini
2017-04-29 21:08 ` Satoru Takeuchi
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 [this message]
2017-04-25 7:45 ` Jon Masters
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87vapu2ghm.wl-satoru.takeuchi@gmail.com \
--to=satoru.takeuchi@gmail.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.