diff options
author | Alexey Kardashevskiy <aik@ozlabs.ru> | 2022-03-21 18:19:45 +1100 |
---|---|---|
committer | Daniel Henrique Barboza <danielhb413@gmail.com> | 2022-04-20 18:00:30 -0300 |
commit | 4c7daca302a4f4d0f66f1112e094307863c4f6c8 (patch) | |
tree | 7e2f1022014d6a90e1015a4895a8bc0a089ab77f | |
parent | 5dd0be53e89acfc367944489a364b0ec835dee9a (diff) | |
download | qemu-4c7daca302a4f4d0f66f1112e094307863c4f6c8.zip qemu-4c7daca302a4f4d0f66f1112e094307863c4f6c8.tar.gz qemu-4c7daca302a4f4d0f66f1112e094307863c4f6c8.tar.bz2 |
ppc/spapr/ddw: Add 2M pagesize
Recently the LoPAPR spec got a new 2MB pagesize to support in Dynamic DMA
Windows API (DDW), this adds the new flag.
Linux supports it since
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=38727311871
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Message-Id: <20220321071945.918669-1-aik@ozlabs.ru>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
-rw-r--r-- | hw/ppc/spapr_rtas_ddw.c | 1 | ||||
-rw-r--r-- | include/hw/ppc/spapr.h | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/hw/ppc/spapr_rtas_ddw.c b/hw/ppc/spapr_rtas_ddw.c index 3e826e1..13d339c 100644 --- a/hw/ppc/spapr_rtas_ddw.c +++ b/hw/ppc/spapr_rtas_ddw.c @@ -72,6 +72,7 @@ static uint32_t spapr_page_mask_to_query_mask(uint64_t page_mask) const struct { int shift; uint32_t mask; } masks[] = { { 12, RTAS_DDW_PGSIZE_4K }, { 16, RTAS_DDW_PGSIZE_64K }, + { 21, RTAS_DDW_PGSIZE_2M }, { 24, RTAS_DDW_PGSIZE_16M }, { 25, RTAS_DDW_PGSIZE_32M }, { 26, RTAS_DDW_PGSIZE_64M }, diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h index f5c33dc..14b01c3 100644 --- a/include/hw/ppc/spapr.h +++ b/include/hw/ppc/spapr.h @@ -745,6 +745,7 @@ void push_sregs_to_kvm_pr(SpaprMachineState *spapr); #define RTAS_DDW_PGSIZE_128M 0x20 #define RTAS_DDW_PGSIZE_256M 0x40 #define RTAS_DDW_PGSIZE_16G 0x80 +#define RTAS_DDW_PGSIZE_2M 0x100 /* RTAS tokens */ #define RTAS_TOKEN_BASE 0x2000 |