On Sat, Sep 09, 2006 at 01:15:30AM -0700, Jeremy Fitzhardinge wrote:
>
> -/* Make sure %gs it initialized properly in idle threads */
> +/* Make sure %gs is initialized properly in idle threads */
Merged
> };
> @@ -20,7 +22,14 @@ extern struct i386_pda _proxy_pda;
> #define pda_to_op(op,field,val) \
> do { \
> typedef typeof(_proxy_pda.field) T__; \
> + if (0) { T__ tmp__; tmp__ = (val); } \
Merged into original patch
> switch (sizeof(_proxy_pda.field)) { \
> + case 1: \
> + asm(op "b %1,%%gs:%c2" \
> + : "+m" (_proxy_pda.field) \
> + :"ri" ((T__)val), \
> + "i"(pda_offset(field))); \
> + break; \
> case 2: \
> asm(op "w %1,%%gs:%c2" \
> : "+m" (_proxy_pda.field) \
> @@ -41,6 +50,12 @@ extern struct i386_pda _proxy_pda;
> ({ \
> typeof(_proxy_pda.field) ret__; \
> switch (sizeof(_proxy_pda.field)) { \
> + case 1: \
> + asm(op "b %%gs:%c1,%0" \
> + : "=r" (ret__) \
> + : "i" (pda_offset(field)), \
> + "m" (_proxy_pda.field)); \
> + break; \
> case 2: \
> asm(op "w %%gs:%c1,%0" \
> : "=r" (ret__) \
> @@ -57,6 +72,10 @@ extern struct i386_pda _proxy_pda;
> } \
> ret__; })
>
> +/* Return a pointer to a pda field */
> +#define pda_addr(field) \
> + ((typeof(_proxy_pda.field) *)((unsigned char *)read_pda(_pda) + \
> + pda_offset(field)))
I think i would prefer to merge that and the 1 byte one only
with actual users (x86-64 hasn't needed either for a long time)
-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]