(*(u16 *)(curgdt)) = limit; (*(u64 *)(curgdt +2)) = (unsigned long)(newgdt); 
curgdt.size    = limit; curgdt.address = (unsigned long)newgdt; 
static void set_gdt(void *newgdt, u16 limit){	unsigned char curgdt[10];	/* x86-64 supports unaligned loads & stores */	(*(u16 *)(curgdt)) = limit;	(*(u64 *)(curgdt +2)) = (unsigned long)(newgdt);	__asm__ __volatile__ (		"lgdt %0\n"		: "=m" (curgdt)		);};
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/36c4fd23cc06f81d68ee968c4c1bf1cebb3dcea5/machine_kexec.c/clean/arch/x86_64/kernel/machine_kexec.c