1 Upstream-Status: Backport [c0ea15936de8378d1da6843d3dbddd8dddba1011]
2 Signed-off-by: Jonathan Liu <net147@gmail.com>
4 From f3347f9b09135d71a4effae1614b22dcdf16a7e2 Mon Sep 17 00:00:00 2001
5 From: Matt Fleming <matt.fleming@intel.com>
6 Date: Wed, 24 Jul 2013 18:33:14 +0100
7 Subject: [PATCH 4/4] pxe: use bios_fbm() and real_base_mem to calculate free
10 We don't need to individually add the PXE regions, we already have two
11 symbols that denote the memory region that will be freed when calling
14 This essentially reverts commit 03dda0f1 ("pxe: mark all PXE regions as
17 Signed-off-by: Matt Fleming <matt.fleming@intel.com>
22 core/fs/pxe/bios.c | 18 +++++++++---------
23 1 file changed, 9 insertions(+), 9 deletions(-)
25 diff --git a/core/fs/pxe/bios.c b/core/fs/pxe/bios.c
26 index 5f61824..ffdffaf 100644
27 --- a/core/fs/pxe/bios.c
28 +++ b/core/fs/pxe/bios.c
29 @@ -94,24 +94,24 @@ static const struct pxenv_t *memory_scan_for_pxenv_struct(void)
31 static int pxelinux_scan_memory(scan_memory_callback_t callback, void *data)
40 * If we are planning on calling unload_pxe() and unmapping the PXE
41 * region before we transfer control away from PXELINUX we can mark
42 * that region as SMT_TERMINAL to indicate that the region will
43 * become free at some point in the future.
46 - dprintf("Marking PXE code region 0x%x - 0x%x as SMT_TERMINAL\n",
47 - pxe_code_start, pxe_code_start + pxe_code_size);
48 - rv = callback(data, pxe_code_start, pxe_code_size, SMT_TERMINAL);
50 - dprintf("Marking PXE data region 0x%x - 0x%x as SMT_TERMINAL\n",
51 - pxe_data_start, pxe_data_start + pxe_data_size);
52 - rv = callback(data, pxe_data_start, pxe_data_size, SMT_TERMINAL);
54 + start = bios_fbm() << 10;
55 + size = (real_base_mem - bios_fbm()) << 10;
56 + dprintf("Marking PXE region 0x%x - 0x%x as SMT_TERMINAL\n",
57 + start, start + size);
59 + callback(data, start, size, SMT_TERMINAL);