]> code.ossystems Code Review - openembedded-core.git/blob
ee0a77237ddac0e04ce66b73246e1b68f8e9916b
[openembedded-core.git] /
1 Upstream-Status: Backport [c0ea15936de8378d1da6843d3dbddd8dddba1011]
2 Signed-off-by: Jonathan Liu <net147@gmail.com>
3
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
8  space
9
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
12 unload_pxe().
13
14 This essentially reverts commit 03dda0f1 ("pxe: mark all PXE regions as
15 SMT_TERMINAL").
16
17 Signed-off-by: Matt Fleming <matt.fleming@intel.com>
18
19 Conflicts:
20         core/fs/pxe/bios.c
21 ---
22  core/fs/pxe/bios.c | 18 +++++++++---------
23  1 file changed, 9 insertions(+), 9 deletions(-)
24
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)
30  
31  static int pxelinux_scan_memory(scan_memory_callback_t callback, void *data)
32  {
33 +    addr_t start, size;
34      int rv = 0;
35  
36 +    if (KeepPXE)
37 +       return 0;
38 +
39      /*
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.
44       */
45 -    if (!KeepPXE) {
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);
49 -
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);
53 -    }
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);
58  
59 +    callback(data, start, size, SMT_TERMINAL);
60      return rv;
61  }
62  
63 -- 
64 1.8.5.3
65