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

Zachary Amsden
2006-03-22T08:55:15Z

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.

> +#define stts() write_cr0(8 | read_cr0())
>

Nit: You shouldn't need to redefine stts() in the subarch.