20 Jan, 2018

1 commit

  • This adds support for '-machine virt' on AArch64. This is rather simple:
    we just add TARGET_QEMU_ARM_xxBIT to select a few different Kconfig
    symbols, provide the ARMv8 memory map from the board file and add a new
    defconfig based on the 32-bit defconfig.

    Signed-off-by: Tuomas Tynkkynen
    Reviewed-by: Tom Rini

    Tuomas Tynkkynen
     

06 Oct, 2017

1 commit

  • This board builds an U-Boot binary that is bootable with QEMU's 'virt'
    machine on ARM. The minimal QEMU command line is:

    qemu-system-arm -machine virt,highmem=off -bios u-boot.bin

    (Note that the 'highmem=off' parameter to the 'virt' machine is required for
    PCI to work in U-Boot.) This command line enables the following:
    - u-boot.bin loaded and executing in the emulated flash at address 0x0
    - A generated device tree blob placed at the start of RAM
    - A freely configurable amount of RAM, described by the DTB
    - A PL011 serial port, discoverable via the DTB
    - An ARMv7 architected timer
    - PSCI for rebooting the system
    - A generic ECAM-based PCI host controller, discoverable via the DTB

    Additionally, QEMU allows plugging a bunch of useful peripherals to the PCI bus.
    The following ones are supported by both U-Boot and Linux:

    - To add a Serial ATA disk via an Intel ICH9 AHCI controller, pass e.g.:
    -drive if=none,file=disk.img,id=mydisk -device ich9-ahci,id=ahci -device ide-drive,drive=mydisk,bus=ahci.0
    - To add an Intel E1000 network adapter, pass e.g.:
    -net nic,model=e1000 -net user
    - To add an EHCI-compliant USB host controller, pass e.g.:
    -device usb-ehci,id=ehci
    - To add a NVMe disk, pass e.g.:
    -drive if=none,file=disk.img,id=mydisk -device nvme,drive=mydisk,serial=foo

    Signed-off-by: Tuomas Tynkkynen

    Tuomas Tynkkynen
     

07 Feb, 2017

2 commits

  • Add a new board config which uses 64-bit U-Boot. Supported features
    are the same as the other 64-bit board (Google Chromebook Link).
    It is a start for us to test 64-bit U-Boot easily without the need
    to access a real hardware.

    Note CONFIG_SPL_ENV_SUPPORT is required for QEMU 64-bit as without
    this the SPL build fails at the end. This is just a workaround as
    CONFIG_SPL_ENV_SUPPORT is not needed at all.

    common/built-in.o:(.data.env_htab+0xc): undefined reference to 'env_flags_validate'
    lib/built-in.o: In function `hsearch_r':
    lib/hashtable.c:380: undefined reference to 'env_callback_init'
    lib/hashtable.c:382: undefined reference to 'env_flags_init'
    make[1]: *** [spl/u-boot-spl] Error 1

    Except those SPL options required by 64-bit, compared to 32-bit
    config, the following options are different:

    - CONFIG_SYS_MALLOC_F_LEN has to be increased to 0x1000 for SPL.
    - CONFIG_DEBUG_UART has to be included due to the weird issue.
    See TODO comments in arch/x86/cpu/x86_64/cpu.c:arch_setup_gd().
    Once this issue gets fixed, debug uart can be optional.

    Signed-off-by: Bin Meng
    Reviewed-by: Simon Glass

    Bin Meng
     
  • Set up the 64-bit U-Boot text base if building for that target.

    Signed-off-by: Bin Meng
    Reviewed-by: Simon Glass

    Bin Meng
     

30 Aug, 2016

1 commit


13 Nov, 2015

1 commit


05 Aug, 2015

1 commit


04 Jun, 2015

1 commit

  • This commit introduces the initial U-Boot support for QEMU x86 targets.
    U-Boot can boot from coreboot as a payload, or directly without coreboot.

    Signed-off-by: Bin Meng
    Acked-by: Simon Glass
    Tested-by: Simon Glass
    Merged in patch 'x86: qemu: Add CMD_NET to qemu-x86_defconfig
    https://patchwork.ozlabs.org/patch/479745/

    Bin Meng