History log of /seL4-camkes-master/tools/riscv-pk/machine/fdt.c
Revision Date Author Comments
# f4c34d86 14-May-2019 Siwei Zhuang <siwei.zhuang@data61.csiro.au>

Add ns16750 driver for ariane.


# 0c2bef1d 12-Mar-2019 Siwei Zhuang <siwei.zhuang@data61.csiro.au>

Temporary Workaround: Add hart filter check for sv32.


# 16476bd8 09-Jul-2018 Andrew Waterman <andrew@sifive.com>

Properly license all nontrivial files


# 2cffbf5d 21-Jun-2018 Zong Li <zongbox@gmail.com>

Fix problem of casting u64 to void* on 32-bit environment (#111)

Can't cast to pointer from 64 bit size integer directly on 32 bit
environment.


# 474ee5a8 20-May-2018 Michael Clark <michaeljclark@mac.com>

RISC-V: Support separate firmware and kernel payload

Support for separate firmware and kernel payload is added
by updating BBL to read optional preloaded kernel address
attributes from device-tree using a similar mechanism to
that used to pass init ramdisk addresses to linux kernel.

chosen {
riscv,kernel-start = <0x00000000 0x80200000>;
riscv,kernel-end = <0x00000000 0x80590634>;
};

These attributes are added by QEMU and read by BBL when combining
-bios <firmware-image> and -kernel <kernel-image> options. e.g.

$ qemu-system-riscv64 -machine virt -bios bbl -kernel vmlinux

With this change, bbl can be compiled without --with-payload
and the dummy payload alignment is altered to make the memory
footprint of the firmware-only bbl smaller. The dummy payload
message is updated to indicate the alternative load method.

This load method could also be supported by a first stage boot
loader that reads seperate firmware and kernel from SPI flash.
The main advantage of this new mechanism is that it eases kernel
development by avoiding the riscv-pk packaging step after kernel
builds, makes building per repository artefacts for CI simpler,
and mimics bootloaders on other platforms that can load a kernel
image file directly. Ultimately BBL should use an SPI driver to
load the kernel image however this mechanism supports use cases
such such as QEMU's -bios, -kernel and -initrd options following
examples from other platforms that pass kernel entry to firmware
via device-tree.

Cc: Palmer Dabbelt <palmer@sifive.com>
Cc: Alistair Francis <Alistair.Francis@wdc.com>
Signed-off-by: Michael Clark <mjc@sifive.com>


# 92047850 02-Nov-2017 Palmer Dabbelt <palmer@dabbelt.com>

Detect harts that can't boot Linux instead of hard-coding them

This checks to see if a hart can't boot Linux by looking for a
compatible "mmu-type" field. If the hart can't boot Linux, then bbl
masks it off.


# ca24f3c9 03-Aug-2017 Palmer Dabbelt <palmer@dabbelt.com>

Add the '--enable-print-device-tree' argument

I'm trying to debug some device tree problems while booting Linux and
figured it would be really nice to have access to the device tree while
trying to debug these problems. I think this might be useful for lots
of people, so I went ahead and cleaned up the code enough that it should
actaully work in most cases.


# 5ca090ba 18-Apr-2017 Andrew Waterman <andrew@sifive.com>

Use uint64_t, not uintptr_t, to represent FDT addresses/sizes

This fixes RV32 pk.


# a2c8937e 05-Apr-2017 Andrew Waterman <andrew@sifive.com>

Remove num_harts; use hart_mask exclusively


# 31eab7e4 05-Apr-2017 Wesley W. Terpstra <wesley@sifive.com>

fdt: update the status length when masking cpus


# 91636ac4 05-Apr-2017 Wesley W. Terpstra <wesley@sifive.com>

fdt: redact clint, plic, and debug hardware


# cd558016 05-Apr-2017 Wesley W. Terpstra <wesley@sifive.com>

fdt: support redaction


# 733fae92 31-Mar-2017 Wesley W. Terpstra <wesley@sifive.com>

clint: move hart wakeup till after all FDT parsing

The clint was wiping out information discovered by the plic.
Initialize hart stacks as they are discovered.
Then fill in clint+plic info
Then wake the harts.


# 52d46dd6 30-Mar-2017 Wesley W. Terpstra <wesley@sifive.com>

fdt: look for the phandle of a cpu's nested interrupt controller


# 75f1854c 27-Mar-2017 Wesley W. Terpstra <wesley@sifive.com>

plic: discovered via fdt


# cfe60c10 27-Mar-2017 Wesley W. Terpstra <wesley@sifive.com>

fdt: rewrite parser using a single design pattern


# a1a5cbca 23-Mar-2017 Wesley W. Terpstra <wesley@sifive.com>

fdt: add a size method


# 316f85e9 21-Mar-2017 Wesley W. Terpstra <wesley@sifive.com>

machine: add FDT parser