Skip to content

Commit

Permalink
hv: update the flow to get trampoline buffer in direct boot mode
Browse files Browse the repository at this point in the history
  Currently, memory with size of 'CONFIG_LOW_RAM_SIZE' will be
  allocated when 'get_direct_boot_ap_trampoline()' is called.

  This patch refine the implementation of of above function, it
  returns the base address of trampoline buffer when called, and
  the memory is allocated when vboot module is initialized.

Tracked-On: #3992
Signed-off-by: Yonghua Huang <yonghua.huang@intel.com>
  • Loading branch information
yonghuah authored and acrnsi committed Nov 5, 2019
1 parent c09723b commit 95a9f6d
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions hypervisor/boot/guest/direct_boot.c
Expand Up @@ -11,15 +11,20 @@
#include <cpu.h>
#include <direct_boot.h>

/*AP trampoline code buffer base address.*/
static uint64_t ap_trampoline_buf;

static void init_direct_boot(void)
{
/* nothing to do for now */
if (ap_trampoline_buf == 0UL) {
ap_trampoline_buf = e820_alloc_low_memory(CONFIG_LOW_RAM_SIZE);
}
}

/* @post: return != 0UL */
static uint64_t get_direct_boot_ap_trampoline(void)
{
return e820_alloc_low_memory(CONFIG_LOW_RAM_SIZE);
return ap_trampoline_buf;
}

static void* get_direct_boot_rsdp(void)
Expand Down

0 comments on commit 95a9f6d

Please sign in to comment.