etc:users:jcmvbkbc:qemu-target-xtensa
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| etc:users:jcmvbkbc:qemu-target-xtensa [2012/03/19 14:48] – links jcmvbkbc | etc:users:jcmvbkbc:qemu-target-xtensa [2024/01/21 19:22] (current) – jcmvbkbc | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== QEMU support for Xtensa ====== | ====== QEMU support for Xtensa ====== | ||
| - | * Git tree (view): [[http://jcmvbkbc.spb.ru/git/?p=dumb/ | + | * Git tree: https://github.com/OSLL/ |
| - | * Git tree (clone): [[git:// | + | |
| - | + | ||
| - | * Toolchain build scripts (view): [[http:// | + | |
| - | * Toolchain build scripts (clone): [[git:// | + | |
| - | + | ||
| - | * Kernel and rootfs binary archive: [[http:// | + | |
| * Official QEMU wiki feature page: [[http:// | * Official QEMU wiki feature page: [[http:// | ||
| - | + | | |
| - | | + | |
| ===== Description ===== | ===== Description ===== | ||
| Line 18: | Line 10: | ||
| Although xtensa instruction set specification is open and there' | Although xtensa instruction set specification is open and there' | ||
| - | The project was initiated to lower cost and to speed up development of one of the Motorola Solutions projects and has been carried out exclusively by the [[http:// | + | The project was initiated to lower cost and to speed up development of one of the Motorola Solutions projects and has been carried out exclusively by the [[http:// |
| - | + | ||
| - | Our qemu/ | + | |
| - | + | ||
| - | It can be easily extended to support custom xtensa architecture variants and external hardware. | + | |
| Our goal is to make it usable (and preferable: | Our goal is to make it usable (and preferable: | ||
| ===== Now active ===== | ===== Now active ===== | ||
| - | + | | |
| - | | + | |
| - | * FP coprocessor | + | |
| ===== TODO ===== | ===== TODO ===== | ||
| - | * SMP support (interrupt distributor, | + | * xtensa |
| - | * ATOMCTL support; | + | |
| - | * cache option implementation; | + | |
| - | * [[.: | + | |
| ===== Implementation status ===== | ===== Implementation status ===== | ||
| + | |||
| * core/basic opcodes implementation; | * core/basic opcodes implementation; | ||
| * [+] and/ | * [+] and/ | ||
| Line 52: | Line 36: | ||
| * [+] extended L32R option; | * [+] extended L32R option; | ||
| * [+] MAC16; | * [+] MAC16; | ||
| - | * [-] coprocessors; | + | * [+] coprocessors; |
| - | * [-] floating point; | + | * [+] floating point; |
| * [+] boolean registers/ | * [+] boolean registers/ | ||
| * [+] memory protection; | * [+] memory protection; | ||
| * [+] no-MMU mode; | * [+] no-MMU mode; | ||
| * [+] region protection (with/ | * [+] region protection (with/ | ||
| - | * [+] MMU mode; | + | * [+] MMU; |
| + | * [+] MPU; | ||
| * cache options; | * cache options; | ||
| - | * [-] memory attributes; | + | * [+] memory attributes; |
| + | * [+] memory accessibility check; | ||
| * [-] memory access timing; | * [-] memory access timing; | ||
| * [+] debug option; | * [+] debug option; | ||
| Line 71: | Line 57: | ||
| * [+] external interrupts; | * [+] external interrupts; | ||
| * [+] timer interrupts; | * [+] timer interrupts; | ||
| - | * [-] correct opcode timings?; | ||
| * [+] qemu timer to avoid busy looping in waiti; | * [+] qemu timer to avoid busy looping in waiti; | ||
| - | * [-] FLIX; | + | * [+] FLIX; |
| - | * [-] wide branches; | + | * [+] wide branches; |
| * gdbserver; | * gdbserver; | ||
| * [+] read/write register, < | * [+] read/write register, < | ||
| Line 81: | Line 66: | ||
| * [+] hw/sw breakpoints; | * [+] hw/sw breakpoints; | ||
| * [+] gdbserver for different processor types; | * [+] gdbserver for different processor types; | ||
| - | * sample | + | * evaluation board; |
| - | * [+] sim(dc232b) | + | * [+] sim platform; |
| * xt2000 platform; | * xt2000 platform; | ||
| * [+] UART (reuse existing 16550 serial); | * [+] UART (reuse existing 16550 serial); | ||
| Line 90: | Line 75: | ||
| * [+] UART (reuse existing 16550 serial); | * [+] UART (reuse existing 16550 serial); | ||
| * [+] opencores ethernet; | * [+] opencores ethernet; | ||
| + | * [+] [[.: | ||
| + | * [+] PCI controller | ||
| + | * [-] hardcoded IRQ routing may connect legacy PCI IRQ to edge-triggered external IRQ line | ||
| + | * [+] [[.: | ||
| * simulation quality; | * simulation quality; | ||
| - | * [+] pass command line arguments to argc/argv SIMCALLs | + | * [+] pass command line arguments to argc/argv SIMCALLs; |
| * [+] TB chaining; | * [+] TB chaining; | ||
| - | * cycle accuracy; | ||
| - | * [-] pipeline/ | ||
| - | * [-] memory access; | ||
| - | * [-] exceptions; | ||
| * [+] external configuration (overlay reuse); | * [+] external configuration (overlay reuse); | ||
| - | * [+] automatic regression test suite; | + | * [+] [[.: |
| + | * [+] SMP support (interrupt distributor, | ||
| + | * [-] [[.: | ||
| ===== Events ===== | ===== Events ===== | ||
| Line 108: | Line 95: | ||
| * 2011.06.19: [[xtensa-linux|linux boots]], issues on userspace application startup | * 2011.06.19: [[xtensa-linux|linux boots]], issues on userspace application startup | ||
| * 2011.06.22: successfull userspace app startup in linux | * 2011.06.22: successfull userspace app startup in linux | ||
| - | * 2011.06.29: xtensa linux session on qemu-xtensa | + | * 2011.06.29: xtensa linux session on qemu-xtensa |
| - | < | + | |
| - | -----BEGIN RSA PRIVATE KEY----- | + | |
| - | MIIEpQIBAAKCAQEA2ycE9iuEtWoNOmyLsx5aiEAPDx// | + | |
| - | kaKQE1yCZMUa/ | + | |
| - | ytM5fkpHFyg1DmCvkXdoUAAzeVCy5ILh6ZhqpQpe68Pb8vQLdj9QmwcvOpS7d97q | + | |
| - | OMbGadIRdgOdlVAYQ/ | + | |
| - | 3VY/ | + | |
| - | x6dPBqKsQZCW6gGcsHk7fMw0K4H1RSOLRiAuQwIDAQABAoIBAQDZQ1m743DxmW37 | + | |
| - | 2di1fwYpxbgoOoR33dxfuFOtJj+IRoTqYzF64DsNtszesjoKcLcJc4av9BOBCMlz | + | |
| - | / | + | |
| - | nJfzSdOQQzPPcKEBv8gNNr/ | + | |
| - | VgOLgFHo9qEMO5PlTElRvRd0JjVRF5Mn9SExSxqWKFzlFMNRkk63Fd3j34St+Z6U | + | |
| - | VFc5OAMEoJt8pPEFNwpbzK0CZyYhWi02US2A8d5aPgodb1WQ0H1JdgO3u9b5YsJN | + | |
| - | hcGjtDwhAoGBAO5/ | + | |
| - | xZi67BWCPS0ac4AlKjMJ0Px85XZQChjEh43CH3cglf9bzneTTC+liHq7GfvoQITd | + | |
| - | TOZTHFu1z6SCgUtTnUwQFdXZHJDs0C21VENcS/ | + | |
| - | zfBA2IOFim3OHNaMjMUYvtpo+QQNGSwQJrw91rEbyrCd/ | + | |
| - | qRDGN6gqANRiTkJsZyvQz81aEqlp3WmG4hPWitymhlpgQ4mFmZU88IMYaQ9Dh8Vp | + | |
| - | Dv6kT6zraAzBKc5nezjKisDItVzieDbly4TWMX6lAoGAJshOzGsL3vwspGDpKPQF | + | |
| - | Uy93/ | + | |
| - | EXgsp7F70r96DoW8UM8pJ1P/ | + | |
| - | F+ANVbRprlLGECCZnxeXvocCgYEAhLnfvvm3sK3+p2oul1gCbYtC1JV6O7DwTQ5n | + | |
| - | 7Lqvkort2K2tSrBwPF0gsGXIV0hMSX016YMOEFJy2WMGaTAlHnHZbjKuaOyUw2AZ | + | |
| - | 27un6kwDbqb2NHgvaidSRYXWcYhW6SoYDdHEKvtAYEH1RsLYofiWRaR5wIj/ | + | |
| - | ZZQ9pQkCgYEA7I004D9SvsVytaeN4RdmbpXYhontoYTorL343B/ | + | |
| - | VfbweLGQ6Ga8K99YARbx2/ | + | |
| - | y3Cqme66+PO8Ka0NjjWxb+ksgO0hgcmEhlnz+3MWNODiacxHffH0ChM= | + | |
| - | -----END RSA PRIVATE KEY----- | + | |
| - | </ | + | |
| * 2011.07.18: issue with gdb not able to read privileged SRs root-caused: | * 2011.07.18: issue with gdb not able to read privileged SRs root-caused: | ||
| * 2011.07.19: tensilica guys suggested the following solution for gdb: | * 2011.07.19: tensilica guys suggested the following solution for gdb: | ||
| Line 159: | Line 117: | ||
| * 2012.01.29: data breakpoints are working | * 2012.01.29: data breakpoints are working | ||
| * 2012.03.03: debug option is merged | * 2012.03.03: debug option is merged | ||
| - | {{tag>qemu}} | + | * 2012.09.09: FP coprocessor series is posted to qemu-devel |
| + | * 2012.09.19: FP coprocessor series is in the mainline | ||
| + | * 2014.06.29: uImage/ | ||
| + | * 2017.01.25: CCOUNT no longer counts instructions; | ||
| + | * 2018.01.09: libisa and target disassembler series is in the mainline | ||
| + | * 2018.01.24: xtensa noMMU series is in the mainline | ||
| + | * 2018.03.17: xtensa linux-user series is in the mainline | ||
| + | * 2019.01.30: basic FLIX 'hello world' is working | ||
| + | * 2019.02.05: xtensa SMP support series is in the mainline | ||
| + | * 2019.03.01: xtensa FLIX support series is in the mainline | ||
| + | * 2019.09.12: xtensa call0 ABI is supported by linux-user in the mainline | ||
| + | * 2019.10.24: xtensa [[.: | ||
| + | * 2020.08.24: xtensa DFPU support series is in the mainline | ||
| + | * 2021.03.10: it's been 10 years | ||
| + | * 2024.01.13: control/ | ||
etc/users/jcmvbkbc/qemu-target-xtensa.1332154081.txt.gz · Last modified: 2012/03/19 14:48 by jcmvbkbc