Browse Source

[PATCH] Type checking for write_pda()

I just added type checking for assignments the PDA in the i386 PDA code.
Here's the x86-64 equivalent.  (Obviously this doesn't contain the latest
x86-64 PDA change.)

Signed-off-by: Jeremy Fitzhardinge <jeremy@goop.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Jeremy Fitzhardinge 18 years ago
parent
commit
85691f135d
1 changed files with 2 additions and 1 deletions
  1. 2 1
      include/asm-x86_64/pda.h

+ 2 - 1
include/asm-x86_64/pda.h

@@ -49,7 +49,8 @@ extern struct x8664_pda _proxy_pda;
 
 
 #define pda_to_op(op,field,val) do { \
 #define pda_to_op(op,field,val) do { \
 	typedef typeof(_proxy_pda.field) T__; \
 	typedef typeof(_proxy_pda.field) T__; \
-       switch (sizeof(_proxy_pda.field)) { 		\
+	if (0) { T__ tmp__; tmp__ = (val); }  \
+	switch (sizeof(_proxy_pda.field)) { 		\
 case 2: \
 case 2: \
 asm(op "w %1,%%gs:%c2" : "+m" (_proxy_pda.field) : \
 asm(op "w %1,%%gs:%c2" : "+m" (_proxy_pda.field) : \
 	"ri" ((T__)val),"i"(pda_offset(field))); break; \
 	"ri" ((T__)val),"i"(pda_offset(field))); break; \