Re: [RFC, PATCH 10/24] i386 Vmi descriptor changes

From: Zachary Amsden
Date: Wed Mar 22 2006 - 18:57:54 EST


Andi Kleen wrote:
-#define _set_gate(gate_addr,type,dpl,addr,seg) \
-do { \
- int __d0, __d1; \
- __asm__ __volatile__ ("movw %%dx,%%ax\n\t" \
- "movw %4,%%dx\n\t" \
- "movl %%eax,%0\n\t" \
- "movl %%edx,%1" \
- :"=m" (*((long *) (gate_addr))), \
- "=m" (*(1+(long *) (gate_addr))), "=&a" (__d0), "=&d" (__d1) \
- :"i" ((short) (0x8000+(dpl<<13)+(type<<8))), \
- "3" ((char *) (addr)),"2" ((seg) << 16)); \
-} while (0)


The ugly piece of code doesn't do anything priviledged. So why do you want
to move it?


I didn't think I moved it. I wrote a clean version instead. It does do something problematic for virtualization, by not allowing the VMI layer to override the DPL on descriptors or RPL of segments. It might be convenient for the hypervisor platform layer to do that.

Zach
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/