Messages in this thread Patch in this message | | | Subject | Re: [PATCH 1/1] x86/iommu: use bit structures for context_entry | From | Joe Perches <> | Date | Thu, 23 May 2013 17:36:24 -0700 |
| |
On Fri, 2013-05-24 at 08:22 +0800, Li, Zhen-Hua wrote: > There is a structure named context_entry used by intel iommu, and there > are some bit operations on it. Use bit structure may make these operations > easy. [] > diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c [] > @@ -221,55 +221,28 @@ get_context_addr_from_root(struct root_entry *root) > * 8-23: domain id > */ > struct context_entry { > - u64 lo; > - u64 hi; > + union { > + struct { > + u64 present:1,
why use struct and union at all?
Why not just:
struct context_entry { u64 present:1, fpd:1, translation_type:2, reserved_l:8, asr:52; u64 aw:3, avail:4, reserved_h1:1, did:16, reserved_h2:40; };
> @@ -743,7 +716,8 @@ static void clear_context_table(struct intel_iommu *iommu, u8 bus, u8 devfn) [] > if (context) { > - context_clear_entry(&context[devfn]); > + context[devfn].lo = 0; > + context[devfn].hi = 0;
memset(&context[devfn], 0, sizeof(...))
| |