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(...))


_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to