Skip to content

draft: hexagon system emulation initial #99

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1,230 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1230 commits
Select commit Hold shift + click to select a range
e8291ec
target/ppc: fix timebase register reset state
npiggin Dec 19, 2024
d8a6245
target/ppc: Wire up BookE ATB registers for e500 family
npiggin Dec 19, 2024
b4aa82d
target/ppc: Avoid warning message for zero process table entries
npiggin Dec 19, 2024
d91b101
spapr: Generate random HASHPKEYR for spapr machines
npiggin Dec 19, 2024
222d37d
ppc/amigaone: Simplify replacement dummy_fw
zbalaton Feb 27, 2025
addff51
ppc/amigaone: Implement NVRAM emulation
zbalaton Feb 27, 2025
c2bed99
ppc/amigaone: Add default environment
zbalaton Feb 27, 2025
34f053d
ppc/amigaone: Add kernel and initrd support
zbalaton Feb 27, 2025
e6521e4
ppc/amigaone: Add #defines for memory map constants
zbalaton Feb 27, 2025
0f17ae2
docs/system/ppc/amigang.rst: Update for NVRAM emulation
zbalaton Mar 4, 2025
000a41b
block: Remove unused blk_op_is_blocked()
kevmw Feb 6, 2025
b75c5f9
block: Zero block driver state before reopening
kevmw Mar 10, 2025
5aed8b0
vfio/igd: Remove GTT write quirk in IO BAR 4
tomitamoeko Mar 6, 2025
5faec6a
vfio/igd: Do not include GTT stolen size in etc/igd-bdsm-size
tomitamoeko Mar 6, 2025
ae9d9ec
vfio/igd: Consolidate OpRegion initialization into a single function
tomitamoeko Mar 6, 2025
eabaa7b
vfio/igd: Move LPC bridge initialization to a separate function
tomitamoeko Mar 6, 2025
b22ab58
vfio/pci: Add placeholder for device-specific config space quirks
tomitamoeko Mar 6, 2025
9267f96
vfio/igd: Refactor vfio_probe_igd_bar4_quirk into pci config quirk
tomitamoeko Mar 6, 2025
2fedccf
vfio/igd: Decouple common quirks from legacy mode
tomitamoeko Mar 6, 2025
434ac62
vfio/igd: Handle x-igd-opregion option in config quirk
tomitamoeko Mar 6, 2025
674f611
vfio/igd: Introduce x-igd-lpc option for LPC bridge ID quirk
tomitamoeko Mar 6, 2025
e46b7af
vfio/igd: Fix broken KVMGT OpRegion support
tomitamoeko Mar 6, 2025
cbb2e10
vfio/migration: Use BE byte order for device state wire packets
maciejsszmigiero Mar 10, 2025
c6cd30f
system: Declare qemu_[min/max]rampagesize() in 'system/hostmem.h'
philmd Mar 11, 2025
a19ce97
hw/vfio/spapr: Do not include <linux/kvm.h>
philmd Mar 11, 2025
514c296
hw/vfio/common: Include missing 'system/tcg.h' header
philmd Mar 11, 2025
80ce7bb
hw/vfio/common: Get target page size using runtime helpers
philmd Mar 11, 2025
5731bae
hw/vfio: Compile some common objects once
philmd Mar 11, 2025
761d63c
hw/vfio: Compile more objects once
philmd Mar 11, 2025
d5c0be1
hw/vfio: Compile iommufd.c once
philmd Mar 11, 2025
28ea52d
hw/vfio: Compile display.c once
philmd Mar 11, 2025
63316f9
vfio/pci-quirks: Exclude non-ioport BAR from ATI quirk
vliaskov Mar 10, 2025
4d96074
vfio/pci: Drop debug commentary from x-device-dirty-page-tracking
jpemartins Mar 11, 2025
d060b27
hw/sd/sdhci: Set reset value of interrupt registers
zbalaton Feb 10, 2025
822405b
hw/rtc: Add Ricoh RS5C372 RTC emulation
shentok Feb 23, 2025
2fa3a5b
hw/net/smc91c111: Sanitize packet numbers
pm215 Feb 28, 2025
aad6f26
hw/net/smc91c111: Sanitize packet length on tx
pm215 Feb 28, 2025
e21fe8f
hw/net/smc91c111: Use MAX_PACKET_SIZE instead of magic numbers
pm215 Feb 28, 2025
700d3d6
hw/net/smc91c111: Don't allow data register access to overrun buffer
pm215 Feb 28, 2025
3a11b65
hw/xen/hvm: Fix Aarch64 typo
philmd Mar 5, 2025
5dc4337
system: Extract target-specific globals to their own compilation unit
philmd Mar 4, 2025
44ac8ea
system: Replace arch_type global by qemu_arch_available() helper
philmd Mar 4, 2025
e6ffea4
hw/acpi: Introduce acpi_builtin() helper
philmd Mar 7, 2025
bb99b92
hw/i386/fw_cfg: Check ACPI availability with acpi_builtin()
philmd Mar 7, 2025
f410d70
hw/virtio/virtio-mem: Remove CONFIG_DEVICES include
philmd Mar 7, 2025
003d35a
hw/hyperv/hyperv-proto: Move SYNDBG definitions from target/i386
pbo-linaro Mar 7, 2025
92e4cce
Merge tag 'tracing-pull-request' of https://gitlab.com/stefanha/qemu …
stefanhaRH Mar 11, 2025
94d689d
Merge tag 'pull-qapi-2025-03-11' of https://repo.or.cz/qemu/armbru in…
stefanhaRH Mar 11, 2025
7f2a527
hw/sd/sdhci: Remove need for SDHCI_VENDOR_IMX definition
philmd Mar 8, 2025
48170c2
docs: Rename default-configs to configs
gkurz Mar 6, 2025
533b33d
tests/functional: Require 'user' netdev for ppc64 e500 test
legoater Mar 8, 2025
8c63f9a
tests/functional: Bump up arm_replay timeout
pm215 Mar 10, 2025
15ef93d
docs/system: Fix the information on how to run certain functional tests
huth Mar 11, 2025
a5e8299
tests/functional/asset: Fail assert fetch when retries are exceeded
npiggin Mar 12, 2025
7524e1b
tests/functional/asset: Verify downloaded size
npiggin Mar 12, 2025
28adad0
tests/functional/asset: Add AssetError exception class
npiggin Mar 12, 2025
71569cd
Merge tag 'pull-ppc-for-10.0-1-20250311' of https://gitlab.com/npiggi…
stefanhaRH Mar 11, 2025
74b3445
Merge tag 'pull-vfio-20250311' of https://github.com/legoater/qemu in…
stefanhaRH Mar 13, 2025
4c33c09
Merge tag 'hw-misc-20250312' of https://github.com/philmd/qemu into s…
stefanhaRH Mar 13, 2025
b3c0366
tests/functional: skip vulkan test if missing vulkaninfo
stsquad Mar 12, 2025
984a32f
file-posix: Support FUA writes
kevmw Mar 7, 2025
2f3b6e6
block/io: Ignore FUA with cache.no-flush=on
kevmw Mar 7, 2025
518db10
aio: Create AioPolledEvent
kevmw Mar 7, 2025
cf2e226
aio-posix: Factor out adjust_polling_time()
kevmw Mar 7, 2025
ee41640
aio-posix: Separate AioPolledEvent per AioHandler
kevmw Mar 7, 2025
f76d3be
aio-posix: Adjust polling time also for new handlers
kevmw Mar 11, 2025
71e1369
iotests: Limit qsd-migrate to working formats
huth Feb 24, 2025
b2e3659
scsi-disk: drop unused SCSIDiskState->bh field
stefanhaRH Mar 11, 2025
a89c3c9
dma: use current AioContext for dma_blk_io()
stefanhaRH Mar 11, 2025
7eecba3
scsi: track per-SCSIRequest AioContext
stefanhaRH Mar 11, 2025
1cf18cc
scsi: introduce requests_lock
stefanhaRH Mar 11, 2025
b348ca2
virtio-scsi: introduce event and ctrl virtqueue locks
stefanhaRH Mar 11, 2025
7d8ab5b
virtio-scsi: protect events_dropped field
stefanhaRH Mar 11, 2025
da6eebb
virtio-scsi: perform TMFs in appropriate AioContexts
stefanhaRH Mar 11, 2025
366b581
virtio-blk: extract cleanup_iothread_vq_mapping() function
stefanhaRH Mar 11, 2025
2fa67a7
virtio-blk: tidy up iothread_vq_mapping functions
stefanhaRH Mar 11, 2025
b50629c
virtio: extract iothread-vq-mapping.h API
stefanhaRH Mar 11, 2025
2e8e18c
virtio-scsi: add iothread-vq-mapping parameter
stefanhaRH Mar 11, 2025
bcede51
virtio-scsi: handle ctrl virtqueue in main loop
stefanhaRH Mar 11, 2025
40aa38a
virtio-scsi: only expose cmd vqs via iothread-vq-mapping
stefanhaRH Mar 11, 2025
df95711
scripts/qcow2-to-stdout.py: Add script to write qcow2 images to stdout
bertogg Jul 30, 2024
28ea66f
Merge tag 'pull-request-2025-03-13' of https://gitlab.com/thuth/qemu …
stefanhaRH Mar 14, 2025
0462a32
Merge tag 'for-upstream' of https://repo.or.cz/qemu/kevin into staging
stefanhaRH Mar 14, 2025
cbb698a
qapi/block-core: Improve x-blockdev-change documentation
Mar 11, 2025
8fad366
docs/qapi_domain: isolate TYPE_CHECKING imports
jnsnow Mar 13, 2025
e36afc7
docs/qapi-domain: always store fully qualified name in signode
jnsnow Mar 13, 2025
74d40b0
docs/qapi_domain: add namespace support to FQN
jnsnow Mar 13, 2025
9ca404f
docs/qapi-domain: add :namespace: override option
jnsnow Mar 13, 2025
7c7247b
docs/qapi-domain: add qapi:namespace directive
jnsnow Mar 13, 2025
b1df602
docs/qapidoc: add :namespace: option to qapi-doc directive
jnsnow Mar 13, 2025
7127e14
docs/qapi_domain: add namespace support to cross-references
jnsnow Mar 13, 2025
25d44f5
docs/qapi-domain: add namespaced index support
jnsnow Mar 13, 2025
602c90b
docs: add QAPI namespace "QMP" to qemu-qmp-ref
jnsnow Mar 13, 2025
d85f7ef
docs: disambiguate references in qapi-domain.rst
jnsnow Mar 13, 2025
a6af544
docs: enable transmogrifier for QSD and QGA
jnsnow Mar 13, 2025
eae0c3b
target/arm: Move A32_BANKED_REG_{GET,SET} macros to cpregs.h
pm215 Mar 12, 2025
23560ad
target/arm: Un-inline access_secure_reg()
pm215 Mar 12, 2025
fe0f88a
linux-user/aarch64: Remove unused get/put_user macros
pm215 Mar 12, 2025
63d8b11
linux-user/arm: Remove unused get_put_user macros
pm215 Mar 12, 2025
fefc122
target/arm: Move arm_cpu_data_is_big_endian() etc to internals.h
pm215 Mar 12, 2025
2beb051
target/arm: Move arm_current_el() and arm_el_is_aa64() to internals.h
pm215 Mar 12, 2025
5d71c68
target/arm: SCR_EL3.RW should be treated as 1 if EL2 doesn't support …
pm215 Mar 12, 2025
1632a20
migration: cpr_is_incoming
Mar 7, 2025
e56ba18
pflash: fix cpr
Mar 7, 2025
b42f281
hw/loader: fix roms during cpr
Mar 7, 2025
8ffe062
hw/qxl: fix cpr
Mar 7, 2025
39ec3fc
target/arm: HCR_EL2.RW should be RAO/WI if EL1 doesn't support AArch32
pm215 Mar 12, 2025
44ab8c2
target/arm: Add cpu local variable to exception_return helper
pm215 Mar 12, 2025
097d68a
target/arm: Forbid return to AArch32 when CPU is AArch64-only
pm215 Mar 12, 2025
adb478a
MAINTAINERS: Fix status for Arm boards I "maintain"
pm215 Mar 7, 2025
9223d68
tests/functional: Bump up arm_replay timeout
pm215 Mar 10, 2025
5b14454
Revert "hw/char/pl011: Warn when using disabled receiver"
bonzini Mar 11, 2025
e6c38d2
util/cacheflush: Make first DSB unconditional on aarch64
jkomlodi Mar 10, 2025
298a049
target/arm: Make DisasContext.{fp, sve}_access_checked tristate
rth7680 Mar 7, 2025
cc7abc3
target/arm: Simplify pstate_sm check in sve_access_check
rth7680 Mar 7, 2025
a019e15
meson.build: Set RUST_BACKTRACE for all tests
pm215 Mar 10, 2025
9beccc2
Merge tag 'pull-qapi-2025-03-14' of https://repo.or.cz/qemu/armbru in…
stefanhaRH Mar 16, 2025
5719376
Merge tag 'pull-target-arm-20250314-1' of https://git.linaro.org/peop…
stefanhaRH Mar 16, 2025
aa90f11
Merge tag 'migration-20250314-pull-request' of https://gitlab.com/far…
stefanhaRH Mar 16, 2025
b027f55
vdpa: Allow vDPA to work on big-endian machine
Feb 21, 2025
d185911
hw/misc: use extract64 instead of 1 << i
Dec 27, 2024
f35432a
Revert "meson.build: default to -gsplit-dwarf for debug info"
bonzini Mar 17, 2025
ca4e2a8
Merge tag 'net-pull-request' of https://github.com/jasowang/qemu into…
stefanhaRH Mar 17, 2025
fae3f5d
Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging
stefanhaRH Mar 17, 2025
1dae461
Update version for v10.0.0-rc0 release
stefanhaRH Mar 18, 2025
2045200
docs: Add hexagon sysemu docs
androm3da Apr 30, 2024
241cc69
docs/system: Add hexagon CPU emulation
androm3da Oct 26, 2024
b7231a5
target/hexagon: Fix badva reference, delete CAUSE
androm3da Aug 8, 2024
19dd0d3
target/hexagon: Add missing A_CALL attr, hintjumpr to multi_cof
androm3da May 18, 2024
e904d8e
target/hexagon: Handle system/guest registers in gen_analyze_funcs.py…
androm3da May 18, 2024
8466d39
target/hexagon: Make gen_exception_end_tb non-static
androm3da May 20, 2024
3f0468f
target/hexagon: Switch to tag_ignore(), generate via get_{user,sys}_t…
androm3da May 18, 2024
7a771c2
target/hexagon: Add privilege check, use tag_ignore()
androm3da May 18, 2024
da8f7b2
target/hexagon: Add memory order definition
androm3da May 20, 2024
0510bd9
target/hexagon: Add a placeholder fp exception
androm3da May 20, 2024
bd14b24
target/hexagon: Add guest, system reg number defs
androm3da May 20, 2024
d347106
target/hexagon: Add guest, system reg number state
androm3da May 29, 2024
2d20666
target/hexagon: Add TCG values for sreg, greg
androm3da May 20, 2024
3531e81
target/hexagon: Add guest/sys reg writes to DisasContext
androm3da May 20, 2024
9381990
target/hexagon: Add imported macro, attr defs for sysemu
androm3da May 20, 2024
9e9dc6f
target/hexagon: Define DCache states
androm3da Sep 9, 2024
d4fc5ac
target/hexagon: Add new macro definitions for sysemu
androm3da May 20, 2024
cd1e7c9
target/hexagon: Add handlers for guest/sysreg r/w
androm3da May 20, 2024
a8a9e5f
target/hexagon: Add placeholder greg/sreg r/w helpers
androm3da May 20, 2024
80be3b3
target/hexagon: Add vmstate representation
androm3da Sep 8, 2024
5130dc1
target/hexagon: Make A_PRIV, "J2_trap*" insts need_env()
androm3da May 27, 2024
f1c9234
target/hexagon: Define register fields for system regs
androm3da May 24, 2024
27524d8
target/hexagon: Implement do_raise_exception()
androm3da Sep 5, 2024
def1e39
target/hexagon: Add system reg insns
androm3da May 29, 2024
b5ff4a1
target/hexagon: Add sysemu TCG overrides
androm3da Jul 8, 2024
ebf9a5e
target/hexagon: Add implicit attributes to sysemu macros
androm3da Sep 12, 2024
e289130
target/hexagon: Add TCG overrides for int handler insts
androm3da Jul 25, 2024
9f4f09c
target/hexagon: Add TCG overrides for thread ctl
androm3da Jul 25, 2024
d3ba152
target/hexagon: Add TCG overrides for rte, nmi
androm3da Jul 25, 2024
37cdda1
target/hexagon: Add sreg_{read,write} helpers
androm3da Jul 26, 2024
17e8de0
target/hexagon: Initialize htid, modectl regs
androm3da Aug 9, 2024
ffa17bf
target/hexagon: Add locks, id, next_PC to state
androm3da Aug 10, 2024
931df7e
target/hexagon: Add a TLB count property
androm3da Aug 10, 2024
c5fd25d
target/hexagon: Add {TLB,k0}lock, cause code, wait_next_pc
androm3da Aug 16, 2024
7370869
target/hexagon: Add stubs for modify_ssr/get_exe_mode
androm3da Aug 16, 2024
49c7e05
target/hexagon: Add gdb support for sys regs
androm3da Aug 27, 2024
93c4434
target/hexagon: Add initial MMU model
androm3da Aug 26, 2024
81ff994
target/hexagon: Add IRQ events
androm3da Aug 27, 2024
19eef6b
target/hexagon: Add clear_wait_mode() definition
androm3da Aug 27, 2024
31d286a
target/hexagon: Define f{S,G}ET_FIELD macros
androm3da Aug 27, 2024
253e5a9
target/hexagon: Add hex_interrupts support
androm3da Aug 27, 2024
15c46e7
target/hexagon: Implement ciad helper
androm3da Aug 28, 2024
b0c8a1e
target/hexagon: Implement {c,}swi helpers
androm3da Aug 28, 2024
bf9c3e9
target/hexagon: Implement iassign{r,w} helpers
androm3da Aug 28, 2024
dc6c61d
target/hexagon: Implement start/stop helpers
androm3da Aug 28, 2024
93c6f07
target/hexagon: Implement modify SSR
androm3da Aug 28, 2024
0686121
target/hexagon: Implement {g,s}etimask helpers
androm3da Aug 28, 2024
ab22000
target/hexagon: Implement wait helper
androm3da Aug 28, 2024
5b213b2
target/hexagon: Implement get_exe_mode()
androm3da Aug 28, 2024
2c8b39f
target/hexagon: Implement arch_get_system_reg()
androm3da Aug 28, 2024
9badeaf
target/hexagon: Implement arch_{s,g}et_{thread,system}_reg()
androm3da Aug 28, 2024
1d8abce
target/hexagon: Add representation to count cycles
androm3da Aug 29, 2024
c981d0f
target/hexagon: Add implementation of cycle counters
androm3da Aug 29, 2024
31f146c
target/hexagon: Implement modify_syscfg()
androm3da Aug 29, 2024
1428a5a
target/hexagon: Add system event, cause codes
androm3da Sep 4, 2024
3a4cbdd
target/hexagon: Implement hex_tlb_entry_get_perm()
androm3da Sep 4, 2024
0108f4d
target/hexagon: Implement hex_tlb_lookup_by_asid()
androm3da Sep 4, 2024
4a3837b
target/hexagon: Implement software interrupt
androm3da Sep 4, 2024
2b8d255
target/hexagon: Implement exec_interrupt, set_irq
androm3da Sep 5, 2024
89b73a4
target/hexagon: Implement hexagon_tlb_fill()
androm3da Sep 5, 2024
93cc29e
target/hexagon: Implement siad inst
androm3da Sep 5, 2024
d88274b
target/hexagon: Implement hexagon_resume_threads()
androm3da Sep 5, 2024
de58b1f
target/hexagon: Implement setprio, resched
androm3da Sep 5, 2024
d13160e
target/hexagon: Add sysemu_ops, cpu_get_phys_page_debug()
androm3da Sep 5, 2024
30d7806
target/hexagon: Add exec-start-addr prop
androm3da Sep 5, 2024
f61be7c
target/hexagon: Add hexagon_cpu_mmu_index()
androm3da Sep 5, 2024
c7c312d
target/hexagon: Decode trap1, rte as COF
androm3da Sep 6, 2024
8b250e3
target/hexagon: Implement hexagon_find_last_irq()
androm3da Sep 8, 2024
a7a836b
target/hexagon: Implement modify_ssr, resched, pending_interrupt
androm3da Sep 9, 2024
4b0ca01
target/hexagon: Add pkt_ends_tb to translation
androm3da Sep 9, 2024
0a248ed
target/hexagon: Add next_PC, {s,g}reg writes
androm3da Sep 9, 2024
5801c28
target/hexagon: Add implicit sysreg writes
androm3da Sep 9, 2024
f9a4cd9
target/hexagon: Define system, guest reg names
androm3da Sep 11, 2024
aa7e50f
target/hexagon: initialize sys/guest reg TCGvs
androm3da Sep 11, 2024
e50db34
target/hexagon: Add TLB, k0 {un,}lock
androm3da Sep 12, 2024
586fb1d
target/hexagon: Define gen_precise_exception()
androm3da Sep 12, 2024
075acfd
target/hexagon: Add TCG overrides for transfer insts
androm3da Sep 18, 2024
f9be945
target/hexagon: Add support for loadw_phys
androm3da Sep 18, 2024
cf7672d
target/hexagon: Add guest reg reading functionality
quic-mathbern Dec 6, 2024
8680556
target/hexagon: Add pcycle setting functionality
androm3da Dec 11, 2024
ad8187b
hw/intc: Add l2vic interrupt controller
SidManning Nov 8, 2023
d6117a2
hw/hexagon: Add machine configs for sysemu
androm3da Dec 2, 2023
d461527
hw/hexagon: Add v68, sa8775-cdsp0 defs
androm3da Oct 16, 2024
8f13a19
hw/hexagon: Add support for cfgbase
SidManning Dec 18, 2024
73027d5
hw/hexagon: Modify "Standalone" symbols
androm3da Oct 22, 2024
956a584
target/hexagon: add build config for softmmu
androm3da Dec 2, 2023
7ca0105
hw/hexagon: Define hexagon "virt" machine
androm3da Jul 29, 2024
b6781d6
tests/functional: Add a hexagon minivm test
androm3da Oct 26, 2024
accfc12
target/hexagon: s/pkt_has_store/pkt_has_scalar_store
androm3da Sep 9, 2024
dcdbedc
target/hexagon: Add a QTimer address prop
androm3da Jan 3, 2025
a83401d
hw/timer: Add QTimer device
SidManning Nov 8, 2023
6b6f61d
docs: Add hexagon VM info
androm3da Jul 9, 2024
741f72d
target/hexagon: Implement hexagon_read_timer()
androm3da Jan 3, 2025
6d2a618
semihosting: add the "usefs" feature
quic-mathbern Jan 28, 2025
28c35de
semihosting: add option for extended open() modes
quic-mathbern Jan 29, 2025
4723707
semihosting: extract GET_ARG() to its own function
quic-mathbern Jan 29, 2025
1507f40
semihosting: add optional callbacks
quic-mathbern Jan 29, 2025
2d2ac38
semihosting: add config opt to use stdio
quic-mathbern Jan 29, 2025
8b899c7
Hexagon: add aux functions for guest mem load/store
quic-mathbern Jan 29, 2025
39c7521
Hexagon: add semihosting support
quic-mathbern Jan 29, 2025
ed8d25f
Hexagon: add main arch-specific semihosting operations
quic-mathbern Jan 29, 2025
0c2c809
Hexagon: add COREDUMP semihosting operation
quic-mathbern Jan 29, 2025
4af457c
Hexagon: add {OPEN|READ|CLOSE}_DIR semihosting operations
quic-mathbern Jan 29, 2025
060b9cb
Hexagon: add semihosting check-tcg test
quic-mathbern Jan 29, 2025
03cac59
target/hexagon: fill in the 'rev' system register
quic-mathbern Feb 5, 2025
47c3323
target/hexagon: print full name of control regs
quic-mathbern Feb 5, 2025
f90a6aa
target/hexagon: fix system register names with -d in_asm
quic-mathbern Feb 5, 2025
d744f70
target/hexagon: reset registers on cpu_reset
quic-mathbern Feb 5, 2025
f58f976
tests/tcg/hexagon: add MMU tests
quic-mathbern Feb 5, 2025
2d874e7
tests/tcg/hexagon: add interrupt and priority tests
quic-mathbern Feb 5, 2025
635bc94
tests/tcg/hexagon: add tests for system registers
quic-mathbern Feb 5, 2025
08f40fe
tests/tcg/hexagon: add HVX tests
quic-mathbern Feb 5, 2025
bf9981b
tests/tcg/hexagon: add l2vic tests
quic-mathbern Feb 5, 2025
95156cb
target/hexagon: add utimer reg impl
androm3da Sep 24, 2024
2a13487
Hexagon (target/hexagon) Make "info tlb" work in qemu monitor
taylorsimpson Oct 29, 2024
f61c415
target/hexagon: Add instruction definitions
quic-mliebel Feb 27, 2025
4481d3e
FIXME: target/hexagon: Add qfloat files
quic-mliebel Feb 27, 2025
0105db0
target/hexagon: Add macro imports
quic-mliebel Feb 27, 2025
9ac9acd
target/hexagon: Update encoding of vunpackob
quic-mliebel Mar 5, 2025
e34591d
target/hexagon: Add encodings
quic-mliebel Mar 5, 2025
a1f5ecf
target/hexagon: Add simple qfloat test
quic-mliebel Mar 5, 2025
8ad8932
FIXME: Merge qtmr_rg0/rg1 into just qtmr_region
SidManning Mar 7, 2025
806002a
FIXME: Add unimplemented DMA instructions
androm3da Mar 9, 2025
d0afff7
fixup! target/hexagon: Implement ciad helper
SidManning Mar 20, 2025
c314988
fixup! target/hexagon: Define register fields for system regs
SidManning Mar 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 0 additions & 1 deletion .gitlab-ci.d/buildtest-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@
stage: test
image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG
script:
- export RUST_BACKTRACE=1
- source scripts/ci/gitlab-ci-section
- section_start buildenv "Setting up to run tests"
- scripts/git-submodule.sh update roms/SLOF
Expand Down
6 changes: 6 additions & 0 deletions .gitlab-ci.d/buildtest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,12 @@ build-system-fedora-rust-nightly:
CONFIGURE_ARGS: --disable-docs --enable-rust --enable-strict-rust-lints
TARGETS: aarch64-softmmu
MAKE_CHECK_ARGS: check-build
after_script:
- source scripts/ci/gitlab-ci-section
- section_start test "Running Rust doctests"
- cd build
- pyvenv/bin/meson devenv -w ../rust ${CARGO-cargo} test --doc -p qemu_api

allow_failure: true

check-system-fedora:
Expand Down
2 changes: 1 addition & 1 deletion .gitlab-ci.d/check-dco.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

print(f"adding upstream git repo @ {repourl}")
subprocess.check_call(["git", "remote", "add", "check-dco", repourl])
subprocess.check_call(["git", "fetch", "check-dco", "master"])
subprocess.check_call(["git", "fetch", "--refetch", "check-dco", "master"])

ancestor = subprocess.check_output(["git", "merge-base",
"check-dco/master", "HEAD"],
Expand Down
2 changes: 1 addition & 1 deletion .gitlab-ci.d/check-patch.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
# base for the user's branch. We thus need to figure out a common
# ancestor between the user's branch and current git master.
subprocess.check_call(["git", "remote", "add", "check-patch", repourl])
subprocess.check_call(["git", "fetch", "check-patch", "master"])
subprocess.check_call(["git", "fetch", "--refetch", "check-patch", "master"])

ancestor = subprocess.check_output(["git", "merge-base",
"check-patch/master", "HEAD"],
Expand Down
66 changes: 66 additions & 0 deletions .gitlab-ci.d/check-units.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#!/usr/bin/env python3
#
# check-units.py: check the number of compilation units and identify
# those that are rebuilt multiple times
#
# Copyright (C) 2025 Linaro Ltd.
#
# SPDX-License-Identifier: GPL-2.0-or-later

from os import access, R_OK, path
from sys import argv, exit
import json
from collections import Counter


def extract_build_units(cc_path):
"""
Extract the build units and their counds from compile_commands.json file.

Returns:
Hash table of ["unit"] = count
"""

j = json.load(open(cc_path, 'r'))
files = [f['file'] for f in j]
build_units = Counter(files)

return build_units


def analyse_units(build_units):
"""
Analyse the build units and report stats and the top 10 rebuilds
"""

print(f"Total source files: {len(build_units.keys())}")
print(f"Total build units: {sum(units.values())}")

# Create a sorted list by number of rebuilds
sorted_build_units = sorted(build_units.items(),
key=lambda item: item[1],
reverse=True)

print("Most rebuilt units:")
for unit, count in sorted_build_units[:20]:
print(f" {unit} built {count} times")

print("Least rebuilt units:")
for unit, count in sorted_build_units[-10:]:
print(f" {unit} built {count} times")


if __name__ == "__main__":
if len(argv) != 2:
script_name = path.basename(argv[0])
print(f"Usage: {script_name} <path_to_compile_commands.json>")
exit(1)

cc_path = argv[1]
if path.isfile(cc_path) and access(cc_path, R_OK):
units = extract_build_units(cc_path)
analyse_units(units)
exit(0)
else:
print(f"{cc_path} doesn't exist or isn't readable")
exit(1)
2 changes: 1 addition & 1 deletion .gitlab-ci.d/cirrus/freebsd-14.vars
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ MAKE='/usr/local/bin/gmake'
NINJA='/usr/local/bin/ninja'
PACKAGING_COMMAND='pkg'
PIP3='/usr/local/bin/pip'
PKGS='alsa-lib bash bison bzip2 ca_root_nss capstone4 ccache4 cmocka ctags curl cyrus-sasl dbus diffutils dtc flex fusefs-libs3 gettext git glib gmake gnutls gsed gtk-vnc gtk3 json-c libepoxy libffi libgcrypt libjpeg-turbo libnfs libslirp libspice-server libssh libtasn1 llvm lzo2 meson mtools ncurses nettle ninja opencv pixman pkgconf png py311-numpy py311-pillow py311-pip py311-pyyaml py311-sphinx py311-sphinx_rtd_theme py311-tomli python3 rpm2cpio rust rust-bindgen-cli sdl2 sdl2_image snappy sndio socat spice-protocol tesseract usbredir virglrenderer vte3 xorriso zstd'
PKGS='alsa-lib bash bison bzip2 ca_root_nss capstone4 ccache4 cmocka ctags curl cyrus-sasl dbus diffutils dtc flex fusefs-libs3 gettext git glib gmake gnutls gsed gtk-vnc gtk3 json-c libepoxy libffi libgcrypt libjpeg-turbo libnfs libslirp libspice-server libssh libtasn1 llvm lzo2 meson mtools ncurses nettle ninja opencv pixman pkgconf png py311-numpy py311-pillow py311-pip py311-pyyaml py311-sphinx py311-sphinx_rtd_theme py311-tomli python3 rpm2cpio rust rust-bindgen-cli sdl2 sdl2_image snappy sndio socat spice-protocol tesseract usbredir virglrenderer vte3 vulkan-tools xorriso zstd'
PYPI_PKGS=''
PYTHON='/usr/local/bin/python3'
2 changes: 1 addition & 1 deletion .gitlab-ci.d/cirrus/macos-14.vars
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ MAKE='/opt/homebrew/bin/gmake'
NINJA='/opt/homebrew/bin/ninja'
PACKAGING_COMMAND='brew'
PIP3='/opt/homebrew/bin/pip3'
PKGS='bash bc bindgen bison bzip2 capstone ccache cmocka ctags curl dbus diffutils dtc flex gcovr gettext git glib gnu-sed gnutls gtk+3 gtk-vnc jemalloc jpeg-turbo json-c libcbor libepoxy libffi libgcrypt libiscsi libnfs libpng libslirp libssh libtasn1 libusb llvm lzo make meson mtools ncurses nettle ninja pixman pkg-config python3 rpm2cpio rust sdl2 sdl2_image snappy socat sparse spice-protocol swtpm tesseract usbredir vde vte3 xorriso zlib zstd'
PKGS='bash bc bindgen bison bzip2 capstone ccache cmocka ctags curl dbus diffutils dtc flex gcovr gettext git glib gnu-sed gnutls gtk+3 gtk-vnc jemalloc jpeg-turbo json-c libcbor libepoxy libffi libgcrypt libiscsi libnfs libpng libslirp libssh libtasn1 libusb llvm lzo make meson mtools ncurses nettle ninja pixman pkg-config python3 rpm2cpio rust sdl2 sdl2_image snappy socat sparse spice-protocol swtpm tesseract usbredir vde vte3 vulkan-tools xorriso zlib zstd'
PYPI_PKGS='PyYAML numpy pillow sphinx sphinx-rtd-theme tomli'
PYTHON='/opt/homebrew/bin/python3'
22 changes: 22 additions & 0 deletions .gitlab-ci.d/static_checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,25 @@ check-rust-tools-nightly:
expire_in: 2 days
paths:
- rust/target/doc

check-build-units:
extends: .base_job_template
stage: build
image: $CI_REGISTRY_IMAGE/qemu/debian:$QEMU_CI_CONTAINER_TAG
needs:
job: amd64-debian-container
before_script:
- source scripts/ci/gitlab-ci-section
- section_start setup "Install Tools"
- apt install --assume-yes --no-install-recommends jq
- section_end setup
script:
- mkdir build
- cd build
- section_start configure "Running configure"
- ../configure
- cd ..
- section_end configure
- section_start analyse "Analyse"
- .gitlab-ci.d/check-units.py build/compile_commands.json
- section_end analyse
3 changes: 3 additions & 0 deletions Kconfig.host
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,6 @@ config HV_BALLOON_POSSIBLE

config HAVE_RUST
bool

config MAC_PVG
bool
Loading