Permalink
Switch branches/tags
Commits on Nov 14, 2018
  1. Update README.md

    diodesign committed Nov 14, 2018
    Fix typo
Commits on Nov 12, 2018
  1. Switch around stacks so of the 16KB assigned per-CPU, IRQ has the top…

    diodesign committed Nov 12, 2018
    … 8KB, boot has the lower 8KB. when startup is over, the IRQ handlers can consume all 16KB. also drop down the IRQ stack a few bytes to squeeze some per-CPU variables.
  2. Avoid FFI concerns by returning start and end of kernel area separate…

    diodesign committed Nov 12, 2018
    …ly rather than as a tuple
  3. Enforce style guide: it's the same as Rust's except force braces on n…

    diodesign committed Nov 12, 2018
    …ewlines. Also, do not apply to contrib code
  4. Tidy up references to u64 and u32 to just usize. Rather than make ass…

    diodesign committed Nov 12, 2018
    …umptions, let the toolchain for the underlying platform make the final decision on max pointer length for us. This is because for the architectures we care about, max pointer width is either 32 or 64 bit, and max addressable memory, physically and virtually, is 2^32 or 2^64. RV32 uses SV32, which is 32-bit max for virtual and physical. RV64 provides SV39 and SV48, which are covered by 64-bit pointers.
Commits on Nov 11, 2018
  1. Update README.md

    diodesign committed Nov 11, 2018
  2. Fix up typos and markup, and add extra info

    diodesign committed Nov 11, 2018
  3. Split building instructions from welcome Readme

    diodesign committed Nov 11, 2018
  4. Manage physical memory into stack(s) of physical 4KB page frames. Cen…

    diodesign committed Nov 11, 2018
    …tralize more common code between RV32 ports. And other improvements.
Commits on Oct 22, 2018
  1. Report fault PC in kernel exceptions, aids debugging

    diodesign committed Oct 22, 2018
  2. More intelligent exception and interrupt handling. Catch and describe…

    diodesign committed Oct 22, 2018
    … fatal kernel errors
  3. Implement skeleton interrupt/exception handler. Tidied up arrangement…

    diodesign committed Oct 22, 2018
    … of code.
Commits on Oct 21, 2018
  1. Move common assembly code into shared directory between RV32G targets…

    diodesign committed Oct 21, 2018
    …. Update build system to support this. Move the locks page to the top of boot memory, shifting the boot stacks down 4K to accomodate SiFive U34 fixed load address
Commits on Oct 20, 2018
  1. Detect and fail on assembler and archiver errors. So far, the build s…

    diodesign committed Oct 20, 2018
    …cript catches situations when the assembler or archiver fails to run, such as if the executable is missing. Now we catch failures during runtime of the assembler and archiver, such as fatal syntax errors in source code.
  2. Improve debug and atomics, read CPU ID from CSR

    diodesign committed Oct 20, 2018
Commits on Oct 16, 2018
  1. Fix missing return

    diodesign committed Oct 16, 2018
Commits on Oct 12, 2018
  1. Script applies to Qemu Virt as well as Sifive

    diodesign committed Oct 12, 2018
  2. Document qemu32_virt

    diodesign committed Oct 12, 2018
  3. Update README.md

    diodesign committed Oct 12, 2018
    Correct wording.
  4. Reference Qemu Virt and SMP

    diodesign committed Oct 12, 2018
  5. Begin multi-processor (SMP) support

    diodesign committed Oct 12, 2018
  6. Distinguish 32-bit Qemu Virt from a future 64-bit port. Fix build err…

    diodesign committed Oct 12, 2018
    …or in sifive_u34's entry.s
Commits on Oct 11, 2018
  1. SiFive U34 SoC isn't supposed to be an SMP system so park all harts e…

    diodesign committed Oct 11, 2018
    …xcept 0 to prevent boot crashes
  2. Fix bug that caused SiFive U34 build to fail. Add Qemu Virt to CI to …

    diodesign committed Oct 11, 2018
    …try all builds
  3. Fix up references to Qemu Virt in comments

    diodesign committed Oct 11, 2018
  4. New platform: qemu_virt - Qemu Virt hardware environment

    diodesign committed Oct 11, 2018
  5. Don't allow Cargo.toml into the repo - it's produced at build time fr…

    diodesign committed Oct 11, 2018
    …om a template selected by build.sh
  6. properly calculate memory size as a 64-bit value

    diodesign committed Oct 11, 2018
Commits on Oct 9, 2018
  1. Update screenshot to show current state of the code

    diodesign committed Oct 9, 2018
  2. Parse device tree to read available system memory. Use a fork of herm…

    diodesign committed Oct 9, 2018
    …it-dtb to process the flattened DT. Split platform-specific code into crate used by central kernel.
  3. Retire the SiFive E300 port early - it only has 16K of DRAM and is mi…

    diodesign committed Oct 9, 2018
    …crocontroller class. Move to the SiFive U34 series (RV32 flavor of the RV64 U54 series). Adjust memory map, update documentation, switch platform code.
  4. Update CI script for change in platform build switch.

    diodesign committed Oct 9, 2018
  5. Correct documentation for --platform option in build script.

    diodesign committed Oct 9, 2018