Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:users:jcmvbkbc:qemu-target-xtensa

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
etc:users:jcmvbkbc:qemu-target-xtensa [2018/11/12 11:37]
jcmvbkbc [Now active]
etc:users:jcmvbkbc:qemu-target-xtensa [2019/11/08 02:37]
jcmvbkbc add virt platform to the list of evaluation boards
Line 16: Line 16:
  
 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://​osll.ru|OSLL]]. Started in March 2011 it took 2 months to provide initial ThreadX support, 2 more months to provide linux support and 2 more months to get accepted into the qemu mainline. 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://​osll.ru|OSLL]]. Started in March 2011 it took 2 months to provide initial ThreadX support, 2 more months to provide linux support and 2 more months to get accepted into the qemu mainline.
- 
-Our qemu/​target-xtensa implementation currently provides almost full instruction set support (enough to run linux/​ThreadX),​ is fast and is available under BSD license. 
- 
-It can be easily extended to support custom xtensa architecture variants and external hardware. 
  
 Our goal is to make it usable (and preferable:​) in real development/​production environment. Our goal is to make it usable (and preferable:​) in real development/​production environment.
Line 25: Line 21:
 ===== Now active ===== ===== Now active =====
   * TIE support   * TIE support
-  * [[.:​qemu-target-xtensa:​virt|virt machine]]+
 ===== TODO ===== ===== TODO =====
   * xtensa TCG backend   * xtensa TCG backend
Line 51: Line 47:
       * [+] no-MMU mode;       * [+] no-MMU mode;
       * [+] region protection (with/​without translation);​       * [+] region protection (with/​without translation);​
-      * [+] MMU mode;+      * [+] MMU
 +      * [+] MPU;
     * cache options;     * cache options;
       * [+] memory attributes;       * [+] memory attributes;
Line 65: Line 62:
       * [+] 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, <​del>​xml register map</​del>​ (not used by gdb);     * [+] read/write register, <​del>​xml register map</​del>​ (not used by gdb);
Line 75: Line 71:
     * [+] hw/sw breakpoints;​     * [+] hw/sw breakpoints;​
     * [+] gdbserver for different processor types;     * [+] gdbserver for different processor types;
-  * sample ​evaluation board;+  * evaluation board;
     * [+] sim platform;     * [+] sim platform;
     * xt2000 platform;     * xt2000 platform;
Line 84: Line 80:
       * [+] UART (reuse existing 16550 serial);       * [+] UART (reuse existing 16550 serial);
       * [+] opencores ethernet;       * [+] opencores ethernet;
 +    * [+] [[.:​qemu-target-xtensa:​virt|virt platform]]
 +      * [+] PCI controller
 +      * [-] hardcoded IRQ routing may connect legacy PCI IRQ to edge-triggered external IRQ line
     * [+] [[.:​qemu-target-xtensa:​linux-user|linux-user]]     * [+] [[.:​qemu-target-xtensa:​linux-user|linux-user]]
   * simulation quality;   * simulation quality;
-    * [+] pass command line arguments to argc/argv SIMCALLs ​(DAN branch only);+    * [+] pass command line arguments to argc/argv SIMCALLs;
     * [+] TB chaining;     * [+] TB chaining;
-    * cycle accuracy; 
-      * [-] pipeline/​SYNC group; 
-      * [-] memory access; 
-      * [-] exceptions; 
   * [+] external configuration (overlay reuse);   * [+] external configuration (overlay reuse);
-  * [+] automatic regression test suite; +  * [+] [[.:​qemu-target-xtensa:​testsuite|automatic regression test suite]]
-  * [+] SMP support (interrupt distributor,​ WER/​RER) ​-- local branch;+  * [+] SMP support (interrupt distributor,​ WER/RER);
   * [-] [[.:​qemu-target-xtensa:​pipeline|cycle accurate pipeline]];   * [-] [[.:​qemu-target-xtensa:​pipeline|cycle accurate pipeline]];
  
Line 105: Line 100:
   * 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 ​is available at ssh -p 3333 xtensa@jcmvbkbc.spb.ru ​with the following private key: +  * 2011.06.29: xtensa linux session on qemu-xtensa ​was available at ssh -p 3333 xtensa@jcmvbkbc.spb.ru
-<​file>​ +
------BEGIN RSA PRIVATE KEY----- +
-MIIEpQIBAAKCAQEA2ycE9iuEtWoNOmyLsx5aiEAPDx//​MJlmMrx6o6qAUTj+wivk +
-kaKQE1yCZMUa/​B40BMUST9KffHqIcV9jxDFjagM/​dfbdbTxeiiNEKyjBsrEidEoU +
-ytM5fkpHFyg1DmCvkXdoUAAzeVCy5ILh6ZhqpQpe68Pb8vQLdj9QmwcvOpS7d97q +
-OMbGadIRdgOdlVAYQ/​Rju8D+k9yygFn/​TwZlTiT/​glEpk/​D4dq+8D1UlFNvohUH4 +
-3VY/​gVJ0CuEQx1OwS+NTJLSz25Z2eTaNTEE4sqqAy2zlBe23Ef4vQo0mWvmBBIkA +
-x6dPBqKsQZCW6gGcsHk7fMw0K4H1RSOLRiAuQwIDAQABAoIBAQDZQ1m743DxmW37 +
-2di1fwYpxbgoOoR33dxfuFOtJj+IRoTqYzF64DsNtszesjoKcLcJc4av9BOBCMlz +
-/​CmgO4Zfd1DW1iK3RP5E3KmcUA+X49xQhZEPc1CwT1sjLg1Lb7ce885KYaimQMbZ +
-nJfzSdOQQzPPcKEBv8gNNr/​msby0ySFZ06sQNpSzaboD0u7TdssYz22BDaZ0E+4C +
-VgOLgFHo9qEMO5PlTElRvRd0JjVRF5Mn9SExSxqWKFzlFMNRkk63Fd3j34St+Z6U +
-VFc5OAMEoJt8pPEFNwpbzK0CZyYhWi02US2A8d5aPgodb1WQ0H1JdgO3u9b5YsJN +
-hcGjtDwhAoGBAO5/​ySbW59vfUkmwI/​s5WL3KgfdkzIUGKdG3yPL3MpUgnrOPPcnT +
-xZi67BWCPS0ac4AlKjMJ0Px85XZQChjEh43CH3cglf9bzneTTC+liHq7GfvoQITd +
-TOZTHFu1z6SCgUtTnUwQFdXZHJDs0C21VENcS/​N0XudXLy0nIBwWKwzHAoGBAOs7 +
-zfBA2IOFim3OHNaMjMUYvtpo+QQNGSwQJrw91rEbyrCd/​09rUD5YLddPRhwq1jYJ +
-qRDGN6gqANRiTkJsZyvQz81aEqlp3WmG4hPWitymhlpgQ4mFmZU88IMYaQ9Dh8Vp +
-Dv6kT6zraAzBKc5nezjKisDItVzieDbly4TWMX6lAoGAJshOzGsL3vwspGDpKPQF +
-Uy93/​OO+Qi9jY3/​wRFogNpHMXMSBNq2iJxjWRRUdn5T6jS798ri47CXfJmMTkT18 +
-EXgsp7F70r96DoW8UM8pJ1P/​gLAetbxKwfVn2h3xev3hyn75SCIhetnIRGTN4XDo +
-F+ANVbRprlLGECCZnxeXvocCgYEAhLnfvvm3sK3+p2oul1gCbYtC1JV6O7DwTQ5n +
-7Lqvkort2K2tSrBwPF0gsGXIV0hMSX016YMOEFJy2WMGaTAlHnHZbjKuaOyUw2AZ +
-27un6kwDbqb2NHgvaidSRYXWcYhW6SoYDdHEKvtAYEH1RsLYofiWRaR5wIj/​72nF +
-ZZQ9pQkCgYEA7I004D9SvsVytaeN4RdmbpXYhontoYTorL343B/​hAXYgGENKEfTK +
-VfbweLGQ6Ga8K99YARbx2/​3FOYqbGKUtUpgxVwhquyBtcUxq6+vr4riUP6M2Zw55 +
-y3Cqme66+PO8Ka0NjjWxb+ksgO0hgcmEhlnz+3MWNODiacxHffH0ChM= +
------END RSA PRIVATE KEY----- +
-</​file>​+
   * 2011.07.18: issue with gdb not able to read privileged SRs root-caused:​ http://​sourceware.org/​ml/​gdb/​2011-07/​msg00073.html   * 2011.07.18: issue with gdb not able to read privileged SRs root-caused:​ http://​sourceware.org/​ml/​gdb/​2011-07/​msg00073.html
   * 2011.07.19: tensilica guys suggested the following solution for gdb:   * 2011.07.19: tensilica guys suggested the following solution for gdb:
Line 163: Line 129:
   * 2018.01.24: xtensa noMMU 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   * 2018.03.17: xtensa linux-user series is in the mainline
-{{tag>qemu}}+  * 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 [[.:qemu-target-xtensa:​virt|virt machine]] is in the mainline 
etc/users/jcmvbkbc/qemu-target-xtensa.txt · Last modified: 2019/11/08 02:37 by jcmvbkbc