Branch: refs/heads/next
Home: https://github.com/siemens/jailhouse
Commit: 8c5b95c43a8c41a2f648a8d3b0b95533916cca17
https://github.com/siemens/jailhouse/commit/8c5b95c43a8c41a2f648a8d3b0b95533916cca17
Author: Ralf Ramsauer <[email protected]>
Date: 2019-06-07 (Fri, 07 Jun 2019)
Changed paths:
M hypervisor/arch/x86/include/asm/mmio.h
M hypervisor/arch/x86/mmio.c
M hypervisor/arch/x86/vcpu.c
M inmates/tests/x86/mmio-access-32.c
M inmates/tests/x86/mmio-access.c
Log Message:
-----------
x86: mmio: fix accidental clears of bits in registers
We trap certain MMIO accesses and need to emulate their access.
On x86, a 32-bit read will clear bits 32-63 of a register.
Inconsistently, on x86, 16-bit and 8-bit reads must not clear high bits.
Jailhouse erroneously cleared those bits. Prevent this by applying a
preserved mask that keeps bits alive.
Add tests that check correct behaviour.
Signed-off-by: Ralf Ramsauer <[email protected]>
[Jan: dropped redundant EXPECT_EQUAL]
Signed-off-by: Jan Kiszka <[email protected]>
Commit: a39be9c3499f51a05dedf5b8612cee42f82db659
https://github.com/siemens/jailhouse/commit/a39be9c3499f51a05dedf5b8612cee42f82db659
Author: Ralf Ramsauer <[email protected]>
Date: 2019-06-07 (Fri, 07 Jun 2019)
Changed paths:
M hypervisor/arch/x86/mmio.c
Log Message:
-----------
x86: mmio: move flags to struct parse_context
We can easier pass them around if flags are stored in struct
parse_context.
Just a preparation, no functional change so far.
Signed-off-by: Ralf Ramsauer <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
Commit: 96157677dfbb37cc112e4384bbd4c585f9d98af6
https://github.com/siemens/jailhouse/commit/96157677dfbb37cc112e4384bbd4c585f9d98af6
Author: Ralf Ramsauer <[email protected]>
Date: 2019-06-07 (Fri, 07 Jun 2019)
Changed paths:
M hypervisor/arch/x86/include/asm/processor.h
M hypervisor/arch/x86/mmio.c
M inmates/tests/x86/mmio-access-32.c
M inmates/tests/x86/mmio-access.c
Log Message:
-----------
x86: mmio: add support for 0x66 operand prefix
mov (%rax), %ax is a 16-bit data MOV_FROM_MEM that will emit
0x66 0x8b 0x00.
0x66 is the operand-size override prefix which we currently do not support.
We should support it, as we can find this opcode, for example, for some
mmconfig space access from Linux (e.g., pci_generic_config_read).
This also adds appropriate mmio-access tests.
Tested in QEMU virtual target.
Signed-off-by: Ralf Ramsauer <[email protected]>
[Jan: dropped redundant EXPECT_EQUAL, adjusted ebx->rax addressing, tuned
comment]
Signed-off-by: Jan Kiszka <[email protected]>
Compare:
https://github.com/siemens/jailhouse/compare/d07b0dcba483...96157677dfbb
--
You received this message because you are subscribed to the Google Groups
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jailhouse-dev/siemens/jailhouse/push/refs/heads/next/d07b0d-961576%40github.com.
For more options, visit https://groups.google.com/d/optout.