diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2011-04-01 15:15:17 +1100 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2011-04-01 18:34:55 +0200 |
commit | 256cebe5d17477cd1443f47a9bd5ca35ca0dbc9c (patch) | |
tree | 5415177ed97e20c1fd1f2c8e0b42c197fea3bb89 /target-ppc/cpu.h | |
parent | fda6a0ecc61926ea1af6a85ab47a4ae47a6fe0a7 (diff) | |
download | qemu-256cebe5d17477cd1443f47a9bd5ca35ca0dbc9c.zip qemu-256cebe5d17477cd1443f47a9bd5ca35ca0dbc9c.tar.gz qemu-256cebe5d17477cd1443f47a9bd5ca35ca0dbc9c.tar.bz2 |
Better factor the ppc hash translation path
Currently the path handling hash page table translation in get_segment()
has a mix of common and 32 or 64 bit specific code. However the
division is not done terribly well which results in a lot of messy code
flipping between common and divided paths.
This patch improves the organization, consolidating several divided paths
into one. This in turn allows simplification of some code in
get_segment(), removing a number of ugly interim variables.
This new factorization will also make it easier to add support for the 1T
segments added in newer CPUs.
Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'target-ppc/cpu.h')
-rw-r--r-- | target-ppc/cpu.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/target-ppc/cpu.h b/target-ppc/cpu.h index cee1057..fd2dfcd 100644 --- a/target-ppc/cpu.h +++ b/target-ppc/cpu.h @@ -386,6 +386,7 @@ struct ppc_slb_t { #define SLB_VSID_B 0xc000000000000000ULL #define SLB_VSID_B_256M 0x0000000000000000ULL #define SLB_VSID_VSID 0x3FFFFFFFFFFFF000ULL +#define SLB_VSID_PTEM (SLB_VSID_B | SLB_VSID_VSID) #define SLB_VSID_KS 0x0000000000000800ULL #define SLB_VSID_KP 0x0000000000000400ULL #define SLB_VSID_N 0x0000000000000200ULL /* no-execute */ |