Re: [RFC][PATCH 2/4] checkpoint/restart: x86 support

From: Arnd Bergmann
Date: Fri Aug 08 2008 - 08:10:12 EST




> diff -puN /dev/null include/asm-x86/ckpt.h
> --- /dev/null 2007-04-11 11:48:27.000000000 -0700
> +++ linux-2.6.git-dave/include/asm-x86/ckpt.h 2008-08-04 13:29:59.000000000 -0700
> @@ -0,0 +1,46 @@

> +
> +struct cr_hdr_cpu {
> + __u64 bx;
> + __u64 cx;
> + __u64 dx;
> + __u64 si;
> + __u64 di;
> + __u64 bp;
> + __u64 ax;
> + __u64 ds;
> + __u64 es;
> + __u64 orig_ax;
> + __u64 ip;
> + __u64 cs;
> + __u64 flags;
> + __u64 sp;
> + __u64 ss;
> + __u64 fs;
> + __u64 gs;
> +
> + __u64 debugreg0;
> + __u64 debugreg1;
> + __u64 debugreg2;
> + __u64 debugreg3;
> + __u64 debugreg6;
> + __u64 debugreg7;
> +
> + __u8 uses_debug;
> +
> + __u8 used_math;
> + __u8 has_fxsr;
> + union thread_xstate xstate; /* i387 */
> +};

It seems weird that you use __u64 members for the registers, but don't
include r8..r15 in the list. As a consequence, this structure does not
seem well suited for either x86-32 or x86-64.

I would suggest either using struct pt_regs by reference, or defining
it so that you can use the same structure for both 32 and 64 bit x86.

Arnd <><
--
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/