On 23 April 2015 at 20:41, Simon Glass <s...@chromium.org> wrote: > Hi Bin, > > On 21 April 2015 at 19:01, Bin Meng <bmeng...@gmail.com> wrote: >> Hi Simon, >> >> On Tue, Apr 21, 2015 at 9:52 PM, Simon Glass <s...@chromium.org> wrote: >>> Hi Bin, >>> >>> On 20 April 2015 at 22:21, Bin Meng <bmeng...@gmail.com> wrote: >>>> Create a default e820 table with 3 entries which is enough to boot >>>> a Linux kernel. >>>> >>>> Signed-off-by: Bin Meng <bmeng...@gmail.com> >>>> --- >>>> >>>> arch/x86/lib/zimage.c | 29 ++++++++++++++++++++++------- >>>> 1 file changed, 22 insertions(+), 7 deletions(-) >>>> >>>> diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c >>>> index 566b048..c3f8a73 100644 >>>> --- a/arch/x86/lib/zimage.c >>>> +++ b/arch/x86/lib/zimage.c >>>> @@ -25,6 +25,8 @@ >>>> #endif >>>> #include <linux/compiler.h> >>>> >>>> +DECLARE_GLOBAL_DATA_PTR; >>>> + >>>> /* >>>> * Memory lay-out: >>>> * >>>> @@ -40,16 +42,29 @@ >>>> >>>> #define COMMAND_LINE_SIZE 2048 >>>> >>>> -unsigned generic_install_e820_map(unsigned max_entries, >>>> - struct e820entry *entries) >>>> +/* >>>> + * Install a default e820 table with 3 entries as follows: >>>> + * >>>> + * 0x000000-0x0a0000 Useable RAM >>>> + * 0x0a0000-0x100000 Reserved for ISA >>>> + * 0x100000-gd->ram_size Useable RAM >>>> + */ >>>> +__weak unsigned install_e820_map(unsigned max_entries, >>>> + struct e820entry *entries) >>>> { >>>> - return 0; >>>> + entries[0].addr = 0; >>>> + entries[0].size = ISA_START_ADDRESS; >>>> + entries[0].type = E820_RAM; >>>> + entries[1].addr = ISA_START_ADDRESS; >>>> + entries[1].size = ISA_END_ADDRESS - ISA_START_ADDRESS; >>>> + entries[1].type = E820_RESERVED; >>>> + entries[2].addr = ISA_END_ADDRESS; >>>> + entries[2].size = gd->ram_size - ISA_END_ADDRESS; >>>> + entries[2].type = E820_RAM; >>>> + >>>> + return 3; >>>> } >>>> >>>> -unsigned install_e820_map(unsigned max_entries, >>>> - struct e820entry *entries) >>>> - __attribute__((weak, alias("generic_install_e820_map"))); >>>> - >>>> static void build_command_line(char *command_line, int auto_boot) >>>> { >>>> char *env_command_line; >>>> -- >>>> 1.8.2.1 >>>> >>> >>> Why is this code sitting in zimage.c? Should it be used with bootm also? >> >> Sorry I am not sure I understand your point. setup_zimage() is called >> by boot_prep_linux() in bootm.c. > > I mean that install_e820_map() seems to be unrelated to zimage, and is > perhaps better kept in a more generic place, perhaps > arch/x86/lib/bootm.c or even arch/x86/lib/e820. Anyway let's apply > this and we can figure that out later. > > Acked-by: Simon Glass <s...@chromium.org> > > Regards, > Simon
Applied to u-boot-x86, thanks! _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot