public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Alexander Graf <agraf@suse.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v5 0/6] PPC 85xx: Add support for QEMU's ppce500 PV machine
Date: Fri, 11 Apr 2014 17:09:39 +0200	[thread overview]
Message-ID: <1397228985-17740-1-git-send-email-agraf@suse.de> (raw)

In QEMU we implement a PV machine type called "ppce500". That board is able
to run any e500+ FSL cores (e500v2, e500mc, e5500, e6500).

It is heavily inspired by the MPC8544DS SoC and board combination, but
implements only the bare minimum to make Linux happy enough to drive a
virtual machine.

This patch set implements support for this PV machine type in U-Boot, enabling
users to run their virtual machines with netboot, u-boot payload binaries or
other fun things they come up with.

---

v1 -> v2:

  - Write device tree offset directly into global variable
  - use r4 rather than r2 for that
  - access fdt directly from in-memory copy
  - remove unneeded header includes
  - clean up pci enumeration
  - coding style fixes
  - populate and only use fdt_addr_r
  - remove unused exported functions
  - remove unused TLB0 entries
  - make TLB1 I/O maps non-executable
  - remove unused defines in board header
  - make -kernel boot variables more clear
  - remove TLB0 invalidation
  - use tlb1.14 for temporary as=1 map
  - use CONFIG_SYS_MPC85XX_NO_RESETVEC
  - store fdt pointer in gd through cpu_init_early_f()
  - replace fixup_tlb1() with dynamic TLB creation hook
  - find CCSRBAR from device tree
  - find PCI controllers from device tree
  - find CPU speed from device tree

v2 -> v3:

  - new patch: fdt_support: split fdt_getprop_u32_default
  - new patch: fdt_support: Add helper function to read "ranges" property
  - new patch: PPC: 85xx: Remove IVOR reset
  - removed patch: PPC 85xx: Detect e500v2 / e500mc during runtime
  - merge dt patches into machine patch
  - Document and rename CONFIG_SYS_USE_DYNAMIC_TLBS
  - remove CONFIG_DDR_SPD
  - Reduce PCI message to only base address
  - Map AS=1 fdt behind CCSRBAR
  - Use CONFIG_SYS_CCSR_DO_NOT_RELOCATE
  - remove unnecessary ccsr map
  - s/cell size/cell count/
  - add temporary map define
  - use fdt_get_base_address() to find region
  - use new APIs
  - remove myfdt helpers

v3 -> v4:

  - tlb_map_range: return unmapped size
  - tlb_map_range: take ram/io parameter as enum rather than bool
  - use new tlb map syntax
  - check that tlb map mapped everything
  - always save/restore r3 for cpu_init_early_f
  - remove CONFIG_DYNAMIC_CCSRBAR
  - make init_tlbs weak and remove all init_tlbs_dynamic() cruft
  - always map fdt to fixed virtual address
  - fold together AS=1 fdt map functions
  - use tlb_map_range for CCSR map
  - search for PCI based on device type rather than compatible
  - remove unnecessary cast
  - call get_linear_ram_size directly
  - override get_tbclk with timebase-frequency fetching code

v4 -> v5:

  - rebase to current master
  - remove CONFIG_MPC85xx from header file, it's already defined on the cmdline
  - use __weak instead of __attribute__((weak))
  - use esel parameter in map_fdt_as()
  - explicitly define start and end of PCI map range

Alexander Graf (6):
  fdt_support: split fdt_getprop_u32_default
  fdt_support: Add helper function to read "ranges" property
  PPC: 85xx: Remove IVOR reset
  PPC: 85xx: Generalize DDR TLB mapping function
  PPC 85xx: Add ELF entry point
  PPC 85xx: Add qemu-ppce500 machine

 arch/powerpc/cpu/mpc85xx/Makefile            |    2 +
 arch/powerpc/cpu/mpc85xx/cpu.c               |    5 +-
 arch/powerpc/cpu/mpc85xx/cpu_init.c          |    4 -
 arch/powerpc/cpu/mpc85xx/cpu_init_early.c    |    8 +-
 arch/powerpc/cpu/mpc85xx/fixed_ivor.S        |   63 -----
 arch/powerpc/cpu/mpc85xx/release.S           |    3 -
 arch/powerpc/cpu/mpc85xx/start.S             |   17 +-
 arch/powerpc/cpu/mpc85xx/tlb.c               |   49 ++--
 arch/powerpc/cpu/mpc85xx/u-boot.lds          |    1 +
 arch/powerpc/include/asm/config_mpc85xx.h    |    4 +
 arch/powerpc/include/asm/mmu.h               |    8 +
 board/freescale/qemu-ppce500/Makefile        |    9 +
 board/freescale/qemu-ppce500/qemu-ppce500.c  |  348 ++++++++++++++++++++++++++
 boards.cfg                                   |    1 +
 common/fdt_support.c                         |  132 +++++++++-
 include/configs/qemu-ppce500.h               |  206 +++++++++++++++
 include/fdt_support.h                        |    4 +
 nand_spl/board/freescale/mpc8536ds/Makefile  |    6 +-
 nand_spl/board/freescale/mpc8569mds/Makefile |    6 +-
 nand_spl/board/freescale/mpc8572ds/Makefile  |    5 -
 nand_spl/board/freescale/p1023rds/Makefile   |    6 +-
 nand_spl/board/freescale/p1_p2_rdb/Makefile  |    6 +-
 22 files changed, 767 insertions(+), 126 deletions(-)
 delete mode 100644 arch/powerpc/cpu/mpc85xx/fixed_ivor.S
 create mode 100644 board/freescale/qemu-ppce500/Makefile
 create mode 100644 board/freescale/qemu-ppce500/qemu-ppce500.c
 create mode 100644 include/configs/qemu-ppce500.h

-- 
1.7.10.4

             reply	other threads:[~2014-04-11 15:09 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-11 15:09 Alexander Graf [this message]
2014-04-11 15:09 ` [U-Boot] [PATCH 1/6] fdt_support: split fdt_getprop_u32_default Alexander Graf
2014-04-11 15:09 ` [U-Boot] [PATCH 2/6] fdt_support: Add helper function to read "ranges" property Alexander Graf
2014-04-11 15:09 ` [U-Boot] [PATCH 3/6] PPC: 85xx: Remove IVOR reset Alexander Graf
2014-04-17  0:46   ` York Sun
2014-04-17  7:16     ` Alexander Graf
2014-04-11 15:09 ` [U-Boot] [PATCH 4/6] PPC: 85xx: Generalize DDR TLB mapping function Alexander Graf
2014-04-11 15:09 ` [U-Boot] [PATCH 5/6] PPC 85xx: Add ELF entry point Alexander Graf
2014-04-11 15:09 ` [U-Boot] [PATCH 6/6] PPC 85xx: Add qemu-ppce500 machine Alexander Graf
2014-04-11 23:18 ` [U-Boot] [PATCH v5 0/6] PPC 85xx: Add support for QEMU's ppce500 PV machine Scott Wood
2014-04-23 21:46 ` York Sun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1397228985-17740-1-git-send-email-agraf@suse.de \
    --to=agraf@suse.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox