Messages in this thread |  | | Date | Tue, 4 Dec 2007 20:34:32 +0100 | | From | Andi Kleen <> | | Subject | Re: [PATCH 4/8] unify paravirt parts of system.h |
| |
On Tue, Dec 04, 2007 at 09:18:33PM +0200, Avi Kivity wrote: > Glauber de Oliveira Costa wrote: >> This patch moves the i386 control registers manipulation functions, >> wbinvd, and clts functions to system.h. They are essentially the same >> as in x86_64, except for the cr8 register, which we add. >> >> + >> +static inline unsigned long native_read_cr8(void) >> +{ >> + unsigned long cr8; >> + asm volatile("mov %%cr8,%0" : "=r" (cr8), "=m" (__force_order)); >> + return cr8; >> +} >> + >> > > There is no cr8 register on i386. This had better be protected by an > #ifdef. > > (you're likely not getting an error since it's a static inline, so the asm > is never emitted)
Linux never uses that register. The only user is suspend save/restore, but that' bogus because it wasn't ever initialized by Linux in the first place. It could be probably all safely removed.
-Andi
|  |