Original source ./drivers/acpi/acpica/dswexec.c in acpi_ds_exec_end_op

                if (ACPI_SUCCESS(status)) {
                        /*
                         * Dispatch the request to the appropriate interpreter 
handler
                         * routine. There is one routine per opcode "type" 
based upon the
                         * number of opcode arguments and return type.
                         */
                        status =
                            acpi_gbl_op_type_dispatch[op_type] (walk_state);
                } else {


.. disassembled:


                if (!(walk_state->op_info->flags & AML_NO_OPERAND_RESOLVE)) {
 683:   48 8b 83 10 04 00 00    mov    0x410(%rbx),%rax
 68a:   f6 40 11 40             testb  $0x40,0x11(%rax)
 68e:   74 21                   je     6b1 <acpi_ds_exec_end_op+0x177>
                         * Dispatch the request to the appropriate interpreter 
handler
                         * routine. There is one routine per opcode "type" 
based upon the
                         * number of opcode arguments and return type.
                         */
                        status =
                            acpi_gbl_op_type_dispatch[op_type] (walk_state);
 690:   44 89 f0                mov    %r14d,%eax
 693:   41 80 fe 0b             cmp    $0xb,%r14b
 697:   77 28                   ja     6c1 <acpi_ds_exec_end_op+0x187>
 699:   48 8b 04 c5 00 00 00    mov    0x0(,%rax,8),%rax
 6a0:   00
 6a1:   48 89 df                mov    %rbx,%rdi
 6a4:   e8 00 00 00 00          call   6a9 <acpi_ds_exec_end_op+0x16f>
 6a9:   41 89 c4                mov    %eax,%r12d
 6ac:   e9 8f 00 00 00          jmp    740 <acpi_ds_exec_end_op+0x206>
                                                            [walk_state->
 6b1:   0f b6 43 0d             movzbl 0xd(%rbx),%eax
                                                             num_operands - 1]),
 6b5:   8d 50 ff                lea    -0x1(%rax),%edx
                                                            [walk_state->
 6b8:   48 63 d2                movslq %edx,%rdx
 6bb:   48 83 fa 09             cmp    $0x9,%rdx
 6bf:   76 02                   jbe    6c3 <acpi_ds_exec_end_op+0x189>
 6c1:   0f 0b                   ud2

^^ crash on 0f 0b ud2 instruction

From https://mudongliang.github.io/x86/html/file_module_x86_id_318.html
ud2 does:

"Generates an invalid opcode. This instruction is provided for software
testing to explicitly generate an invalid opcode. The opcode for this
instruction is reserved for this purpose.

Other than raising the invalid opcode exception, this instruction is the
same as the NOP instruction."

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1942215

Title:
  OOPs on boot: invalid opcode: 0000 [#1] SMP NOPTI

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1942215/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to