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/