ia64/xen-unstable

changeset 19113:1dc576b683c6

tboot: single tboot entry point for shutdown

tboot removed the shutdown_entry32 and shutdown_entry64 from
tboot_shared_t and now has just a single shutdown_entry field.

Signed-off-by: Joseph Cihula <joseph.cihula@intel.com>
author Keir Fraser <keir.fraser@citrix.com>
date Thu Jan 29 11:32:06 2009 +0000 (2009-01-29)
parents a8c342f352c3
children b86df1139133
files xen/arch/x86/tboot.c xen/include/asm-x86/tboot.h
line diff
     1.1 --- a/xen/arch/x86/tboot.c	Thu Jan 29 11:28:09 2009 +0000
     1.2 +++ b/xen/arch/x86/tboot.c	Thu Jan 29 11:32:06 2009 +0000
     1.3 @@ -37,8 +37,7 @@ void __init tboot_probe(void)
     1.4      printk("TBOOT: found shared page at phys addr %lx:\n", p_tboot_shared);
     1.5      printk("  version: %d\n", tboot_shared->version);
     1.6      printk("  log_addr: 0x%08x\n", tboot_shared->log_addr);
     1.7 -    printk("  shutdown_entry32: 0x%08x\n", tboot_shared->shutdown_entry32);
     1.8 -    printk("  shutdown_entry64: 0x%08x\n", tboot_shared->shutdown_entry64);
     1.9 +    printk("  shutdown_entry: 0x%08x\n", tboot_shared->shutdown_entry);
    1.10      printk("  shutdown_type: %d\n", tboot_shared->shutdown_type);
    1.11      printk("  s3_tb_wakeup_entry: 0x%08x\n", tboot_shared->s3_tb_wakeup_entry);
    1.12      printk("  s3_k_wakeup_entry: 0x%08x\n", tboot_shared->s3_k_wakeup_entry);
    1.13 @@ -82,11 +81,7 @@ void tboot_shutdown(uint32_t shutdown_ty
    1.14  
    1.15      write_ptbase(idle_vcpu[0]);
    1.16  
    1.17 -#ifdef __x86_64__
    1.18 -    asm volatile ( "call *%%rdi" :: "D" (g_tboot_shared->shutdown_entry64) );
    1.19 -#else
    1.20 -    asm volatile ( "call *%0" :: "r" (g_tboot_shared->shutdown_entry32) );
    1.21 -#endif
    1.22 +    ((void(*)(void))(unsigned long)g_tboot_shared->shutdown_entry)();
    1.23  
    1.24      BUG(); /* should not reach here */
    1.25  }
     2.1 --- a/xen/include/asm-x86/tboot.h	Thu Jan 29 11:28:09 2009 +0000
     2.2 +++ b/xen/include/asm-x86/tboot.h	Thu Jan 29 11:32:06 2009 +0000
     2.3 @@ -61,8 +61,7 @@ typedef struct __attribute__ ((__packed_
     2.4      uuid_t    uuid;              /* {663C8DFF-E8B3-4b82-AABF-19EA4D057A08} */
     2.5      uint32_t  version;           /* Version number: 0x01, 0x02, ... */
     2.6      uint32_t  log_addr;          /* physical addr of tb_log_t log */
     2.7 -    uint32_t  shutdown_entry32;  /* entry point for tboot shutdown from 32b */
     2.8 -    uint32_t  shutdown_entry64;  /* entry point for tboot shutdown from 64b */
     2.9 +    uint32_t  shutdown_entry;    /* entry point for tboot shutdown */
    2.10      uint32_t  shutdown_type;     /* type of shutdown (TB_SHUTDOWN_*) */
    2.11      uint32_t  s3_tb_wakeup_entry;/* entry point for tboot s3 wake up */
    2.12      uint32_t  s3_k_wakeup_entry; /* entry point for xen s3 wake up */