sys_vm86 uses a struct kernel_vm86_regs, which is identical topt_regs, but adds an extra space for all the segment registers.Previously this structure was completely independent, so changes inpt_regs had to be reflected in kernel_vm86_regs. This changes justembeds pt_regs in kernel_vm86_regs, and makes the appropriate changesto vm86.c to deal with the new naming.

Also, since %gs is dealt with differently in the kernel, this changeadjusts vm86.c to reflect this.

While making these changes, I also cleaned up some frankly bizarrecode which was added when auditing was added to sys_vm86.

struct kernel_vm86_regs { /* * normal regs, with special meaning for the segment descriptors.. */- long ebx;- long ecx;- long edx;- long esi;- long edi;- long ebp;- long eax;- long __null_ds;- long __null_es;- long orig_eax;- long eip;- unsigned short cs, __csh;- long eflags;- long esp;- unsigned short ss, __ssh;+ struct pt_regs pt; /* * these are specific to v86 mode: */--