Travis Geiselbrecht
e3ffad684f
[scripts] make sure all the do-qemu* scripts exec qemu as the last line
...
This helps a wrapper script test for proper exit.
2025-10-01 23:33:25 -07:00
Travis Geiselbrecht
5c1bc61e11
[scripts][do-qemuarm] general cleanup of script style and fix potential bugs
...
Mostly suggestions from shellcheck
2025-09-16 13:36:20 -07:00
Travis Geiselbrecht
457355fa3c
[scripts][do-qemuarm] accept 4k/16k/64k as page size aliases
2025-09-16 13:15:15 -07:00
Travis Geiselbrecht
c48cfcb5d0
[arch][arm64] add support for 64k pages
...
Already worked, just needed to set up the address space size and create
a new project.
2025-08-31 21:48:09 -07:00
Travis Geiselbrecht
fff0f2a740
[arch][arm64] add support for 16k pages
2025-08-31 21:47:32 -07:00
Travis Geiselbrecht
fdf48a80c8
[scripts][do-qemuarm] add support for using HVF on mac
...
Detect if it's being run on a darwin host and try to use HVF if the -k
switch is passed.
2024-08-11 12:06:54 -07:00
Travis Geiselbrecht
d54735cf5d
[scripts][do-qemuarm] add switch to try to use KVM
2024-05-09 23:11:58 -07:00
Cody Wong
64b462cb37
[arm][v9p] Add v9p host dir sharing support for arm platform
...
- Add the v9p support for arm platform.
- Add an option `-f` to set the shared directory on the host machine to
`do-qemuarm`.
- For example, to use the v9p dir sharing, run the script as:
```
# under `lk/` run the follow command will share the current
# directory `lk/` within LK vm as VirtIO 9p device
scripts/do-qemuarm -f .
```
Signed-off-by: Cody Wong <codycswong@google.com >
2024-04-01 23:09:30 -07:00
Travis Geiselbrecht
74386913a0
[scripts][do-qemuarm] set script=no when using tun/tap
2022-05-12 20:08:21 -07:00
Travis Geiselbrecht
d7ef1985eb
[scrtipts][do-qemu] align the arm and x86 script a bit more
...
Add option to specify disk file to ARM
2022-04-21 21:31:01 -07:00
Peter Collingbourne
4a15661ee0
[arch][arm64] use SMC when booted at EL2 in QEMU
...
If we were booted at EL2 (e.g. when passing -machine
virt,virtualization=on), we need to use SMC instead of HVC for PSCI
calls. Change psci_call() to do this and add a flag to do-qemuarm to
allow testing this scenario.
2022-04-19 18:32:12 -07:00
Travis Geiselbrecht
36e73e0fac
[bus][pci] add routines to pass in PCI bus resources prior to starting the pci bus manager
...
Wire them up on arm and riscv which need them. x86-pc does not, so dont
call it.
Also fix a few miscellaneous bugs, notably PCI not detecting 64bit bars
properly due to an off by one bit error.
2022-02-06 19:46:39 -08:00
Travis Geiselbrecht
35da2d1260
[minip][dhcp] spiff up the state machine to handle more edge cases
...
-Add TAP option to scripts/qemux86
2021-12-31 17:23:57 -08:00
Travis Geiselbrecht
a47cf76f14
[scripts][do-qemuarm] hard disable network if not selected
...
Turns out qemu was putting a e1000 nic on the PCI bus if no options were
selected. No reason to do so if the network is explicitly not called
for.
2021-11-20 17:42:41 -08: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
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
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
b220b29165
[scripts] add smp option to do-qemuarm and do-qemux86
2016-02-14 11:37:46 -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
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
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
Travis Geiselbrecht
335a96b492
[scripts] point do-qemuarm at vexpress-a9 instead of realview-pb
2014-05-17 17:54:25 -07:00
Travis Geiselbrecht
7afc03914a
[scripts][qemuarm] make sure the emulated machine has 256MB of ram
2014-01-26 23:27:49 -08:00
Travis Geiselbrecht
549f9977cd
[scripts] fix do-qemux86 and do-qemuarm to reference lk.elf
2013-03-16 15:26:57 -07:00
Travis Geiselbrecht
d62c6977c4
[platform][realview-pb] first stab at working Realview Explore board
...
This target seems to be the best one to target for generic arm support
on current stock qemu builds.
2012-12-30 17:57:06 -08:00