From: Ross Philipson Date: Wed, 4 Feb 2009 15:56:51 +0000 (-0500) Subject: tboot patch 1/5 - unified shutdown entry X-Git-Url: http://xenbits.xen.org/gitweb?a=commitdiff_plain;h=5215bc32656a342ec5c0e967ff72a3907f464c67;p=xenclient%2Fxen.git tboot patch 1/5 - unified shutdown entry tboot removed the shutdown_entry32 and shutdown_entry64 from tboot_shared_t and now has just a single shutdown_entry field. Changes to be committed: modified: xen/arch/x86/tboot.c modified: xen/include/asm-x86/tboot.h --- diff --git a/xen/arch/x86/tboot.c b/xen/arch/x86/tboot.c index 697ca9f..b03338f 100644 --- a/xen/arch/x86/tboot.c +++ b/xen/arch/x86/tboot.c @@ -37,8 +37,7 @@ void __init tboot_probe(void) printk("TBOOT: found shared page at phys addr %lx:\n", p_tboot_shared); printk(" version: %d\n", tboot_shared->version); printk(" log_addr: 0x%08x\n", tboot_shared->log_addr); - printk(" shutdown_entry32: 0x%08x\n", tboot_shared->shutdown_entry32); - printk(" shutdown_entry64: 0x%08x\n", tboot_shared->shutdown_entry64); + printk(" shutdown_entry: 0x%08x\n", tboot_shared->shutdown_entry); printk(" shutdown_type: %d\n", tboot_shared->shutdown_type); printk(" s3_tb_wakeup_entry: 0x%08x\n", tboot_shared->s3_tb_wakeup_entry); printk(" s3_k_wakeup_entry: 0x%08x\n", tboot_shared->s3_k_wakeup_entry); @@ -82,11 +81,7 @@ void tboot_shutdown(uint32_t shutdown_type) write_ptbase(idle_vcpu[0]); -#ifdef __x86_64__ - asm volatile ( "call *%%rdi" :: "D" (g_tboot_shared->shutdown_entry64) ); -#else - asm volatile ( "call *%0" :: "r" (g_tboot_shared->shutdown_entry32) ); -#endif + ((void(*)(void))(unsigned long)g_tboot_shared->shutdown_entry)(); BUG(); /* should not reach here */ } diff --git a/xen/include/asm-x86/tboot.h b/xen/include/asm-x86/tboot.h index 64883ce..282ad66 100644 --- a/xen/include/asm-x86/tboot.h +++ b/xen/include/asm-x86/tboot.h @@ -61,8 +61,7 @@ typedef struct __attribute__ ((__packed__)) { uuid_t uuid; /* {663C8DFF-E8B3-4b82-AABF-19EA4D057A08} */ uint32_t version; /* Version number: 0x01, 0x02, ... */ uint32_t log_addr; /* physical addr of tb_log_t log */ - uint32_t shutdown_entry32; /* entry point for tboot shutdown from 32b */ - uint32_t shutdown_entry64; /* entry point for tboot shutdown from 64b */ + uint32_t shutdown_entry; /* entry point for tboot shutdown */ uint32_t shutdown_type; /* type of shutdown (TB_SHUTDOWN_*) */ uint32_t s3_tb_wakeup_entry;/* entry point for tboot s3 wake up */ uint32_t s3_k_wakeup_entry; /* entry point for xen s3 wake up */