Re: [RFC PATCH 19/35] subarch support for control register accesses

Chris Wright
2006-03-22T21:45:40Z

* Zachary Amsden (zach@vmware.com) wrote:
> Chris Wright wrote:
> >+#define read_cr4_safe() ({ \
> >+ unsigned int __dummy; \
> >+ /* This could fault if %cr4 does not exist */ \
> >+ __asm__("1: movl %%cr4, %0 \n" \
> >+ "2: \n" \
> >+ ".section __ex_table,\"a\" \n" \
> >+ ".long 1b,2b \n" \
> >+ ".previous \n" \
> >+ : "=r" (__dummy): "0" (0)); \
> >+ __dummy; \
> >+})
>
> I think you'll find trap and emulate quite sufficient for this one.

Heh ;-)

> >+#define stts() write_cr0(8 | read_cr0())
> >
>
> Nit: You shouldn't need to redefine stts() in the subarch.

Yes, you're right, better to keep things consolidated.