Commit Graph

148 Commits

Author SHA1 Message Date
Travis Geiselbrecht
2d29b94c84 [travisci] use parallel builds 2020-05-17 13:55:16 -07:00
Travis Geiselbrecht
35c3742b6c [scripts][codestyle] add some comments on the codestyle script 2020-05-16 15:33:00 -07:00
Travis Geiselbrecht
f0449cc59c [platform][riscv] move the supervisor mode switch to -S which makes more sense 2020-01-26 12:11:14 -08:00
Travis Geiselbrecht
9c71a0ec57 [platform][qemu-riscv] Fixup qemu-riscv target
-Fix plic driver to handle machine vs supervisor mode
-Add switch to scripts/do-qemuriscv to run in supervisor mode (with OpenSBI)
-Use the FDT to detect the number of cpus and size of memory
2020-01-19 14:48:25 -08:00
Travis Geiselbrecht
fdc08a8446 [arch][riscv] port to riscv64
Very little needed to port except to conditionalize some assembly in the
context switch and exception code. Mostly needed to move build system
stuff around and add a new project.
2019-11-02 17:21:13 -07:00
Travis Geiselbrecht
ae5200595c [platform][riscv-virt] added support for QEMU's riscv 'virt' machine
The virt machine is a generic target, much like the arm virt machine.
Intended to be simple to use and a good target to run large systems like
linux on. At the moment simply support booting and simple uart and timer
support.
2019-11-02 14:19:36 -07:00
Travis Geiselbrecht
dbe86c89be [scripts][do-qemu] minor restructure of how args are passed to qemu
No functional change, just a tiny tweak that had been floating around.
2019-10-23 07:14:45 -07:00
Travis Geiselbrecht
4aa556b837 [project][qemu-virt-arm32-minimal] add a new project that doesnt' enable as much
Useful for testing when the console is off.
2019-07-13 17:11:48 -07:00
Travis Geiselbrecht
ca648bcd01 [scripts][replacelic] Add a script to replace full MIT licenses with shortened versions 2019-07-05 17:19:13 -07:00
Martin Foo
b66bd3e420 Add STM32F429I-DISCO1 support(default serial:USART1). 2019-06-19 18:18:52 -07:00
Travis Geiselbrecht
47ebb40185 [script][stm32f7-disco-test] tweak board config file
Matches what stock openocd 0.10.0 names the config file for this
particular board.
2019-06-09 23:21:24 -07:00
Travis Geiselbrecht
291bdce364 [project][qemu-virt-arm] rename to arm32 and arm64
Less confusing than a15 and a53
2019-03-30 20:11:22 -07:00
Travis Geiselbrecht
41a7937444 [scripts] add parallel building script and use it in most build scripts 2019-03-30 20:06:12 -07:00
Travis Geiselbrecht
63be190d8b [target][sifive-e] Get LK working on a Sifive Hifive1 board
-added support for bringing up the clocks and setting up the gpio bits
before starting the uart.
-add a proper target init routine
-add scripts to flash board via openocd
-fixed bug in riscv interrupt save state where it wasn't saving mstatus
on irq entry.
-comment out cycle enabling, not implemented on this core
2019-02-18 22:13:22 -08:00
Travis Geiselbrecht
a0a6b10e0b [arch][riscv32] rename the qemu target sifive-e
The initial port is really a Sifive E platform. Call it what it is and
make space for bringing up the Sifive U and virt qemu target.
2019-02-17 20:29:50 -08:00
Travis Geiselbrecht
4c29a608e9 [platform][pc] fix up bios32 PCI support, get pci IDE working again
-Spiff up the device driver starting logic to allow for statically
started devices, instead of always automatic.
2018-12-31 16:47:32 -08:00
Travis Geiselbrecht
1fbb67228d [platform][pc] get working on legacy 386 PC
-Add support for x86 legacy mode, designed for 386+ instead of pentium+
-Fixup uart driver to support com2
-Stub out PCI driver properly
-Fixup IDE driver to detect legacy disks
2018-12-30 21:08:58 -08:00
Travis Geiselbrecht
8cf28bbdcf [arch][riscv] Initial port to a riscv32 sifive target
Currently targets qemu's sifive_e machine, which is a split flash/ram
machine, much like the Sifive HiFive1. Untested as of yet on a real
HiFive1.

Basic support including interrupts and architectural timers in place.
2018-12-16 16:44:23 -08:00
Travis Geiselbrecht
fdb41e1d8b [scripts][codestyle] replace the old tab based codestyle script with the space based one 2018-12-16 16:41:38 -08:00
Travis Geiselbrecht
4f978d8580 [scripts][codestyle] tweak the space codestyle script to use -A2 (java style) braces
Dunno why it got set to -A4 before.
2018-12-16 16:41:38 -08:00
Travis Geiselbrecht
ee672a5471 [arch][x86] flatten x86-64 and x86 into a single tree of code
Major refactor of x86 code into a single arch.
Also bump both 32 and 64 bit to running the kernel at a 'high' address.
2016-02-29 12:42:45 -08:00
Travis Geiselbrecht
e604f4b103 [target][lm3s6965evb] add support for stellaris based lm3s6965evb board
This seems to be somewhat properly emulated in qemu.

qemu-system-arm -machine lm3s6965evb -cpu cortex-m3
2016-02-20 20:08:15 -08:00
Travis Geiselbrecht
fbee777a4a [scripts] remove some unused scripts 2016-02-14 11:49:10 -08:00
Travis Geiselbrecht
fe92f4ad74 [platform][omap3] remove this old platform 2016-02-14 11:46:19 -08:00
Travis Geiselbrecht
b220b29165 [scripts] add smp option to do-qemuarm and do-qemux86 2016-02-14 11:37:46 -08:00
Travis Geiselbrecht
f2430462b6 [platform][stm32f7xx] add reboot command and script for dartuino 2016-01-04 17:40:30 -08:00
Gurjant Kalsi
7b453164dd [qemu][m4][gfx][display] Get the VNC based LCD working on the qemu-m4 port. 2015-12-16 16:05:36 -08:00
Gurjant Kalsi
8af6e9f00e [scripts][astyle] +align-pointer=name 2015-12-11 14:56:27 -08:00
Travis Geiselbrecht
9c74f98fa9 [merge] merge mips development branch
Add support for mips architecture.
Currently supports particular generic target on qemu.
2015-12-08 14:23:38 -08:00
Gurjant Kalsi
12415e2b24 [qemu][cortex-m4] Support qemu-m4 target. 2015-12-07 12:27:29 -08:00
Travis Geiselbrecht
b7e68b5dbd [scripts][tagit] extend tagit script to only tag files for a particular project 2015-12-02 18:34:01 -08:00
Travis Geiselbrecht
38a5e7bd4f WIP more work on mip
got interrupts working
started work on timer
2015-12-01 19:19:23 -08:00
Travis Geiselbrecht
cd5ac2f34e WIP mips: first semi-functional mips port
Context switches work, console alive. No interrupts.
2015-12-01 01:05:37 -08:00
Travis Geiselbrecht
ba6a3f6914 [scripts] add a script to run cppcheck over the source for a given project 2015-11-23 09:17:44 -08:00
Travis Geiselbrecht
64fe297cb5 [arch][x86] fix multiboot to properly just cover the data segment, fix x86-64 bug
-Add -6 switch to do-qemux86 to build and run the x86-64 target
-Fix bug in x86-64 context switch, do not understand how it ever worked.
2015-11-06 19:32:51 -08:00
Travis Geiselbrecht
674b0dfab4 [scripts] add script to automate building and flashing a stm32f7-discovery board 2015-11-05 17:21:25 -08:00
Erik Corry
12868bf6c0 [lib][heap] Add Cmpctmalloc as an alternative malloc implementation
From scratch simple binning heap. Complexity wise in the middle
between miniheap and dlmalloc. Generally much faster than miniheap
with a small amount of memory overhead. Performs similarly to
dlmalloc.
2015-11-05 16:47:03 -08:00
Travis Geiselbrecht
31de0ff388 [platform][qemu-virt] read the memory size out of the FDT using libfdt
-Bump the kernel forward by 64K
-Look for the FDT that qemu leaves around in the space just before the kernel
-Pick out the 'memory' node, parse the base/length values and patch the main
    pmm arena before adding it
2015-10-09 17:24:43 -07:00
Travis Geiselbrecht
555f16c5c7 [dev][virtio][gpu] add default implementation of virtio-gpu driver
Exports a simple single buffered framebuffer.
2015-10-07 15:44:00 -07:00
Travis Geiselbrecht
b52c27973a [platform][qemu-virt] support cortex-a15 cpu as well 2015-09-20 12:13:07 -07:00
Travis Geiselbrecht
861d637e8b [platform][qemu-virt] add support for -machine virt on qemu arm/aarch64
-add a arm64 cortex-a53 based target
2015-09-20 12:13:07 -07:00
Travis Geiselbrecht
70c1b1ac92 [travis-ci] add some logic to try to cache a downloaded toolchain 2015-09-18 20:27:05 -07:00
Eren Türkay
bbe5ca66ed [scripts] add travis-build.sh and .travis.yml file
Github provides travis continuous integration service. This change makes
it possible to utilize travis with prebuilt toolchains. The build matrix
is defined in .travis.yml file.
2015-09-18 19:28:33 -07:00
Travis Geiselbrecht
193a57d5d5 [dev][virtio][net] add working implementation of a virtio network interface
-Not optimized yet, but should be pretty complete. Tested against qemu.
-Add switches to qemu script to allow running with a tap interface.
-Enable minip by default on vexpress-a9 platform
2015-09-09 15:41:32 -07:00
Travis Geiselbrecht
a9b1f58de9 [scripts][do-qemuarm] new features of script require bash 2015-09-09 11:18:39 -07:00
Travis Geiselbrecht
ea40ff628c [scripts] spiff up do-qemuarm to add switches for virtio devices 2015-09-08 16:15:01 -07:00
John Grossman
73900af915 [lk][tools] Fix a small error in the buildall script.
Make use of the -j level which was computed in the script instead of
hardcoding to -j4

Change-Id: I99bf175709d1a2c8757fe73a7ddbb6361d431e69
Signed-off-by: John Grossman <johngro@google.com>
2015-05-08 10:45:51 -07:00
Travis Geiselbrecht
518a04eef3 [arch][microblaze] a bit of bugfixing and refactoring to get running on real hardware
Punched out a version of the microblaze on a ZYBO dev board, which required
a few tweaks an additions to run on real hardware.
Refactored the qemu and zybo microblaze target.
2015-04-19 01:34:18 -07:00
Travis Geiselbrecht
2f44d34266 [scripts][xmd.tcl] clean up a bit to allow nonzero offsets 2015-03-31 15:28:57 -07:00
Travis Geiselbrecht
eac56a0ec7 [scripts][do-*-xmd] create xmd.tcl file that takes argument
refactor do-zybo-xmd and do-uzed-xmd to use the single xmd tcl file

Change-Id: Ibf3f58127103ff563b617a0025a15815d2f28049
2015-03-18 14:41:38 -07:00