Skip to content
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

AVR support #2021

Open
wants to merge 31 commits into
base: dev
Choose a base branch
from
Open

Commits on Oct 22, 2024

  1. qemu/tcg: fix UC_HOOK_MEM_READ on aarch64.

    Directly jump into the slow path when there is any hookmem enabled. This
    fixes unicorn-engine#1908.
    
    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    376c169 View commit details
    Browse the repository at this point in the history
  2. qemu/tcg: fix UC_HOOK_MEM_READ on ppc64.

    Directly jump into the slow path when there is any hookmem enabled.
    
    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    bfe3acb View commit details
    Browse the repository at this point in the history
  3. qemu/tcg: check for UC_HOOK_MEM_READ_AFTER.

    Use has_hookmem() helper to determine wether "slow-path" TLB read is
    needed. Add this helper to x86 architecture as well so that to check for
    all hookmem.
    
    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    d84208e View commit details
    Browse the repository at this point in the history
  4. qemu/tcg: factor out has_hookmem().

    It's the same implementation for all architectures, so factor out
    has_hookmem() into tcg_uc_has_hookmem().
    
    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    7a5711c View commit details
    Browse the repository at this point in the history
  5. Import AVR target from QEMU v5.2.0.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    0f1251b View commit details
    Browse the repository at this point in the history
  6. qemu/target/avr: Register AVR support with the rest of QEMU

    Add AVR related definitions into QEMU, make AVR support buildable.
    
    [AM: Remove word 'Atmel' from filenames and all elements of code]
    Suggested-by: Aleksandar Markovic <[email protected]>
    Signed-off-by: Michael Rolnik <[email protected]>
    Signed-off-by: Richard Henderson <[email protected]>
    Signed-off-by: Aleksandar Markovic <[email protected]>
    Tested-by: Philippe Mathieu-Daudé <[email protected]>
    Reviewed-by: Aleksandar Markovic <[email protected]>
    Signed-off-by: Thomas Huth <[email protected]>
    Message-Id: <[email protected]>
    [PMD: Fixed @avr tag in qapi/machine.json]
    Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
    
    (cherry picked from commit 42f3ff001339e37df4f13b709d2db00a488ee45c)
    Signed-off-by: Glenn Baker <[email protected]>
    michaelrolnik authored and glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    d8d1318 View commit details
    Browse the repository at this point in the history
  7. qemu/target/avr: pregenerate decoder.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    b1859cb View commit details
    Browse the repository at this point in the history
  8. qemu/target/avr: pregenerate overrides (extern symbols).

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    4c466b9 View commit details
    Browse the repository at this point in the history
  9. qemu/target/avr: add initial Unicorn integration.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    1d20309 View commit details
    Browse the repository at this point in the history
  10. qemu/target/avr: add support for block and insn hooks.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    d4eccc2 View commit details
    Browse the repository at this point in the history
  11. Add Unicorn/AVR support.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    3ab8db2 View commit details
    Browse the repository at this point in the history
  12. Use alternate Flash program memory (code) base for AVR targets.

    This is needed because the AVR CPU has separate code and data address
    spaces that both start from zero. Use 0x08000000 base for Flash memory
    and 0x00000000 base for CPU registers, IO registers and SRAM as the
    fast case.
    
    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    0b8932f View commit details
    Browse the repository at this point in the history
  13. AVR: rework ARCH/CPU models.

    Separate AVR architectures ("avr5", "avr51", "avr6", etc.) from actual
    MCU models. Only list the most representative MCU models.
    
    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    6d263b4 View commit details
    Browse the repository at this point in the history
  14. AVR: add 16-bit & 32-bit register accessors.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    d150f71 View commit details
    Browse the repository at this point in the history
  15. AVR: fix selection and validation of CPU model.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    eb21e2f View commit details
    Browse the repository at this point in the history
  16. Add AVR code samples.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    1c99b55 View commit details
    Browse the repository at this point in the history
  17. Add AVR unit tests.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    3c5f3ea View commit details
    Browse the repository at this point in the history
  18. bindings: update const generator for AVR.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    602d2ba View commit details
    Browse the repository at this point in the history
  19. bindings: regenerate constants for AVR support.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    abbff49 View commit details
    Browse the repository at this point in the history
  20. build: update build systems for AVR support.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    a1984d3 View commit details
    Browse the repository at this point in the history
  21. AVR: drop built-in disassembler tools.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    2f9061b View commit details
    Browse the repository at this point in the history
  22. AVR: update for new v2.1.x APIs.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    8902493 View commit details
    Browse the repository at this point in the history
  23. AVR: fix cpu_reset() prototype.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    b1cdf85 View commit details
    Browse the repository at this point in the history
  24. AVR: drop unused error_report() function override.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    5b5d1f8 View commit details
    Browse the repository at this point in the history
  25. AVR: fix compilation on non-Linux platforms.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    5eefbee View commit details
    Browse the repository at this point in the history
  26. AVR: move declarations at the begining of the function.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    ae2e302 View commit details
    Browse the repository at this point in the history
  27. AVR: mention new architecture into README.md.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    66183ba View commit details
    Browse the repository at this point in the history
  28. AVR: add self to CREDITS.txt

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    9311139 View commit details
    Browse the repository at this point in the history
  29. AVR: fix build with older compilers.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    3918165 View commit details
    Browse the repository at this point in the history
  30. bindings: add avr constants to python binding module.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    ab8cc64 View commit details
    Browse the repository at this point in the history
  31. rust: add AVR architecture support.

    Signed-off-by: Glenn Baker <[email protected]>
    glennsec committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    9a25b59 View commit details
    Browse the repository at this point in the history