提交 3ed9c6d2 编写于 作者: A Alexander Graf 提交者: Avi Kivity

KVM: PPC: Make bools bitfields

Bool defaults to at least byte width. We usually only want to waste a single
bit on this. So let's move all the bool values to bitfields, potentially
saving memory.
Signed-off-by: NAlexander Graf <agraf@suse.de>
Signed-off-by: NAvi Kivity <avi@redhat.com>
上级 5a1b419f
...@@ -29,40 +29,40 @@ struct kvmppc_slb { ...@@ -29,40 +29,40 @@ struct kvmppc_slb {
u64 vsid; u64 vsid;
u64 orige; u64 orige;
u64 origv; u64 origv;
bool valid; bool valid : 1;
bool Ks; bool Ks : 1;
bool Kp; bool Kp : 1;
bool nx; bool nx : 1;
bool large; /* PTEs are 16MB */ bool large : 1; /* PTEs are 16MB */
bool tb; /* 1TB segment */ bool tb : 1; /* 1TB segment */
bool class; bool class : 1;
}; };
struct kvmppc_sr { struct kvmppc_sr {
u32 raw; u32 raw;
u32 vsid; u32 vsid;
bool Ks; bool Ks : 1;
bool Kp; bool Kp : 1;
bool nx; bool nx : 1;
bool valid; bool valid : 1;
}; };
struct kvmppc_bat { struct kvmppc_bat {
u64 raw; u64 raw;
u32 bepi; u32 bepi;
u32 bepi_mask; u32 bepi_mask;
bool vs;
bool vp;
u32 brpn; u32 brpn;
u8 wimg; u8 wimg;
u8 pp; u8 pp;
bool vs : 1;
bool vp : 1;
}; };
struct kvmppc_sid_map { struct kvmppc_sid_map {
u64 guest_vsid; u64 guest_vsid;
u64 guest_esid; u64 guest_esid;
u64 host_vsid; u64 host_vsid;
bool valid; bool valid : 1;
}; };
#define SID_MAP_BITS 9 #define SID_MAP_BITS 9
......
...@@ -127,9 +127,9 @@ struct kvmppc_pte { ...@@ -127,9 +127,9 @@ struct kvmppc_pte {
u64 eaddr; u64 eaddr;
u64 vpage; u64 vpage;
u64 raddr; u64 raddr;
bool may_read; bool may_read : 1;
bool may_write; bool may_write : 1;
bool may_execute; bool may_execute : 1;
}; };
struct kvmppc_mmu { struct kvmppc_mmu {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册