-
Notifications
You must be signed in to change notification settings - Fork 6
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
draft: hexagon system emulation initial #99
base: tip
Are you sure you want to change the base?
Conversation
We are already in January 2025! Update copyright notices. Cc: [email protected] Cc: [email protected] Signed-off-by: Ani Sinha <[email protected]> Message-ID: <[email protected]> Signed-off-by: Thomas Huth <[email protected]>
Nothing thrilling in here, it's just a straight forward conversion. Reviewed-by: Philippe Mathieu-Daudé <[email protected]> Tested-by: Philippe Mathieu-Daudé <[email protected]> Message-ID: <[email protected]> Signed-off-by: Thomas Huth <[email protected]>
Two tests here are using the hard-coded VNC port :0 ... if there is already a QEMU or other program running that is using this port, the tests will be failing. Fortunately, QEMU can also auto-detect a free port with the "to=..." parameter, so let's use that for the tests to avoid the problem. Message-ID: <[email protected]> Signed-off-by: Thomas Huth <[email protected]>
This test matches exactly the first three lines of the following test_no_vnc_change_password test, so there is exactly zero additional test coverage in here. Reviewed-by: Daniel P. Berrangé <[email protected]> Message-ID: <[email protected]> Signed-off-by: Thomas Huth <[email protected]>
…r file We'll need this functionality in other functional tests, too, so let's extract it into the qemu_test module. Also add an __enter__ and __exit__ function that can be used for using this functionality in a locked context, so that tests that are running in parallel don't try to compete for the same ports later. Also make sure to only use ports in the "Dynamic Ports" range (see https://www.rfc-editor.org/rfc/rfc6335) and "randomize" the start of the probed range with the PID of the test process to further avoid possible clashes with other competing processes. Message-ID: <[email protected]> Signed-off-by: Thomas Huth <[email protected]>
Since functional tests have character-based console output parsing, there is no need for strange hacks to work around old line-based. Signed-off-by: Nicholas Piggin <[email protected]> Message-ID: <[email protected]> Reviewed-by: Thomas Huth <[email protected]> Signed-off-by: Thomas Huth <[email protected]>
`setup-apkrepos` can be used to set repos rather than open-coding URLs. Signed-off-by: Nicholas Piggin <[email protected]> Message-ID: <[email protected]> Signed-off-by: Thomas Huth <[email protected]>
Signed-off-by: Nicholas Piggin <[email protected]> Message-ID: <[email protected]> Signed-off-by: Thomas Huth <[email protected]>
Yoshinori said [*] URL references on OSDN were stable, but they appear not to be. Mirror the artifacts on GitHub to avoid failures while testing on CI. [*] https://www.mail-archive.com/[email protected]/msg686487.html Cc: Yoshinori Sato <[email protected]> Reported-by: Alex Bennée <[email protected]> Signed-off-by: Philippe Mathieu-Daudé <[email protected]> Message-ID: <[email protected]> [huth: Adapt the patch to the new version in the functional framework] Message-ID: <[email protected]> Signed-off-by: Thomas Huth <[email protected]>
ASSET_IMAGE needs to be prefixed with "self." ... this bug apparently went in unnoticed because the test is not run by default. Message-ID: <[email protected]> Reviewed-by: Philippe Mathieu-Daudé <[email protected]> Signed-off-by: Thomas Huth <[email protected]>
…into staging * Update year in copyright statements * Convert the VNC test to the functional framework * Improve and update the ppc64_hv functional test * Fix broken rx_gdbsim and arm_quanta_gsj functional tests # -----BEGIN PGP SIGNATURE----- # # iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmd2alsRHHRodXRoQHJl # ZGhhdC5jb20ACgkQLtnXdP5wLbW+phAAhIWX1KlU6nHh6GUKmEgDmvFKn+eE4NlJ # BP97GUI5jsYAXgq1jqVsSw2xWzjNXVSUGq/J0jPjZElz+iAJWortCef9Ga46A9eS # qx7MjeNsLiTnaJZwLDtu6w4f9t1vdNnyBIZULV9whevn/GMF4MO4s2aBCTbIG0xT # 9HBbuVgAaz3Ga+ZWEt9kYt4OsTbWIdmLTDpKiti2qteP0WR7Hyqgztd828JSHk3R # a98jSdNgObXODacOcis2e0kr5+C1eEYjqggkxeFao1ZXdbn95MFYT1q+WBofVYPR # fnHmGkIUaJixXApd6DCo2oou99aO8nW/Y6zkj8vraQaSCqCi7NhEmuguN55apyLJ # uwzMneECZ8Yf0kOAmRT6u0BqHEXqHXaHj9YzJ6fBxKol0WVfjkCyUQ4Ozke/xFQ9 # XeVAXIus/D42OPoO2buERt+Be99TMYUV5RCIoSah2D0pwI65CyQXSpb++mah9SUI # qrUtn58Z6fcnNGrzScv0c4ZjfNwxm8Rk7hMdThCiy2PDkcYu4L5tm4TPGRm2kzG3 # MNQXEjtVHc2nQmwEZA0piBhEDoWXvcGaps9E8SlQ+MGaXqCsK11eTC6rQY1rI+ZV # 1XOXenJ2O77SCacZZb2UZk2WleTjcOsaZAMniRM7oML4zOYgCZbYq+zNdoMoTQ6E # t/2V8B24SrQ= # =9Hki # -----END PGP SIGNATURE----- # gpg: Signature made Thu 02 Jan 2025 05:28:43 EST # gpg: using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5 # gpg: issuer "[email protected]" # gpg: Good signature from "Thomas Huth <[email protected]>" [full] # gpg: aka "Thomas Huth <[email protected]>" [full] # gpg: aka "Thomas Huth <[email protected]>" [full] # gpg: aka "Thomas Huth <[email protected]>" [unknown] # Primary key fingerprint: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5 * tag 'pull-request-2025-01-02' of https://gitlab.com/thuth/qemu: tests/functional/test_arm_quanta_gsj: Fix broken test tests/functional/test_rx_gdbsim: Use stable URL for test_linux_sash tests/functional/test_ppc64_hv: Update to Alpine 3.21.0 tests/functional/test_ppc64_hv: Update repo management tests/functional/test_ppc64_hv: Simplify console handling tests/functional: Extract the find_free_ports() function into a helper file tests/functional/test_vnc: Remove the test_no_vnc test tests/functional/test_vnc: Do not use a hard-coded VNC port tests/functional: Convert the vnc test docs: update copyright date to the year 2025 Signed-off-by: Stefan Hajnoczi <[email protected]>
Removes accidental inclusion of unrelated functions within CONFIG_UADK as this causes compile errors like: error: redefinition of ‘migrate_hook_start_xbzrle’ Fixes: 932f74f ("tests/qtest/migration: Split compression tests from migration-test.c") Signed-off-by: Shameer Kolothum <[email protected]> Reviewed-by: Fabiano Rosas <[email protected]> Message-Id: <[email protected]> Signed-off-by: Fabiano Rosas <[email protected]>
The dirty_limit test does two migrations in a row and is leaking the first 'to' instance. Do proper cleanup. Reviewed-by: Peter Xu <[email protected]> Message-Id: <[email protected]> Signed-off-by: Fabiano Rosas <[email protected]>
Valgrind complains about the probe_o_direct_support() function reading from an uninitialized buffer. For probing O_DIRECT support we don't actually need to write to the file, just make sure the pwrite call doesn't reject the write. Still, write zeroes to the buffer to suppress the warning. Reviewed-by: Philippe Mathieu-Daudé <[email protected]> Reviewed-by: Peter Xu <[email protected]> Message-Id: <[email protected]> Signed-off-by: Fabiano Rosas <[email protected]>
The dump_aml_files() function calls load_expected_aml() to allocate the tables but never frees it. Add the missing call to free_test_data(). Reviewed-by: Philippe Mathieu-Daudé <[email protected]> Message-Id: <[email protected]> Signed-off-by: Fabiano Rosas <[email protected]>
…st_memwrite Valgrind complains about: Use of uninitialised value of size 8 & Conditional jump or move depends on uninitialised value(s) both at: at 0x5265931: _itoa_word (_itoa.c:180) by 0x527EEC7: __vfprintf_internal (vfprintf-internal.c:1687) by 0x528C8B0: __vsprintf_internal (iovsprintf.c:96) by 0x526B920: sprintf (sprintf.c:30) by 0x1296C7: qtest_memwrite (libqtest.c:1273) by 0x193C04: send_map (virtio-iommu-test.c:125) by 0x194392: test_attach_detach (virtio-iommu-test.c:214) by 0x17BDE7: run_one_test (qos-test.c:181) by 0x4B0699D: test_case_run (gtestutils.c:2900) by 0x4B0699D: g_test_run_suite_internal (gtestutils.c:2988) by 0x4B068B2: g_test_run_suite_internal (gtestutils.c:3005) by 0x4B068B2: g_test_run_suite_internal (gtestutils.c:3005) by 0x4B068B2: g_test_run_suite_internal (gtestutils.c:3005) Uninitialised value was created by a stack allocation at 0x193AFD: send_map (virtio-iommu-test.c:103) Reviewed-by: Philippe Mathieu-Daudé <[email protected]> Message-Id: <[email protected]> Signed-off-by: Fabiano Rosas <[email protected]>
Coverity complained about them. These two variables are never used now after commit 832c732 ("migration-test: Create arch_opts"), and/or commit 34cc54f ("tests/qtest/migration-test: Use custom asm bios for ppc64"). Resolves: Coverity CID 1568379 Resolves: Coverity CID 1568380 Signed-off-by: Peter Xu <[email protected]> Reviewed-by: Alex Bennée <[email protected]> Message-Id: <[email protected]> Signed-off-by: Fabiano Rosas <[email protected]>
Postcopy tests have been inadvertently disabled since commit 124a3c5 ("tests/qtest/migration: Move ufd_version_check to utils"). That commit moved the ufd_version_check() function to another file but failed to make sense of the ifdefs and includes: The <sys/syscall> include was incorrectly dropped. It is needed to pull in <asm/unistd.h> for __NR_userfaultfd. The <sys/ioctl.h> was moved under the wrong ifdef. Fixes: 124a3c5 ("tests/qtest/migration: Move ufd_version_check to utils") Reviewed-by: Peter Xu <[email protected]> Signed-off-by: Fabiano Rosas <[email protected]> Message-Id: <[email protected]>
Remove code that is already compiled out. This prevents confusion. CC: [email protected] Signed-off-by: Ani Sinha <[email protected]> Reviewed-by: Philippe Mathieu-Daudé <[email protected]> Message-Id: <[email protected]> Signed-off-by: Fabiano Rosas <[email protected]>
…/qemu into staging Qtest pull request - migration-test: fix UADK build, reinstate postcopy tests and other cleanups - a couple of memory leak fixes for bios-tables-test and virtio-iommu-test - drop dead code from fw_cfg-test # -----BEGIN PGP SIGNATURE----- # # iQJEBAABCAAuFiEEqhtIsKIjJqWkw2TPx5jcdBvsMZ0FAmd3DSMQHGZhcm9zYXNA # c3VzZS5kZQAKCRDHmNx0G+wxnUy5EACPnvy3U2jen2Cc5Hke69byCQtMkDTAJHH5 # xlwTLoTEF25AXMjLyee9vM4MoDHl+EUaGd3zmmAu2/P5/zOHWrBh9VbkFKDDvJJS # XTVSZ0Iv9a0LDGKsv74Pk7LUZCEanr9a0qpfYTFPuwUh9yu7pd4QeYpbEdwzKzX6 # TMpJTYOE5gUTgP6X8Ir6u3po8DChfE9Eb+Z3LhRU7S+Xi3FoUWRFgRzuvXhXLkf3 # SPNEA27XCaqWQjG8SfQ9yhafrEz9OIGq39Q2unSJ8Df8riYurrdhxYrWNZ/6URQi # /sYoBJZ2IMBzLg4cVOWXXQwdFkmU+0LUYPOANy6MrYRXl1QJtWway3eHOj+ZlkIH # r2ulAJWAXqIQ3Ki6Dv3TYCg0/snF8arFzmdsaAbn0M8YYQB7XAlcqHus5axEMIVO # 0VG7rXctRyH2h7DFfKeW/G1aaK5ox+/0aJoVhjmFJSlYZ2DUx+htfsPlIJmwhRRF # i61VaOw7NsrHsW0fEgTRurQBVVuZ2/nJT8saJwvXpFiJu0X1GQ6lmKQNlWqm5h6C # JyLc096+vOG0Cqih7p+M3NvKTHNQZQzUPSLJU2UXItPDPv1oAmFrHpVlBQiUD37I # h/2R6vxZIY5ei2ECFITnl+LaV4MNjGExpeOEi020KSLEz9Y8nk+i5E+4oDUct93z # wAsWLadmxg== # =sLkH # -----END PGP SIGNATURE----- # gpg: Signature made Thu 02 Jan 2025 17:03:15 EST # gpg: using RSA key AA1B48B0A22326A5A4C364CFC798DC741BEC319D # gpg: issuer "[email protected]" # gpg: Good signature from "Fabiano Rosas <[email protected]>" [unknown] # gpg: aka "Fabiano Almeida Rosas <[email protected]>" [unknown] # gpg: WARNING: The key's User ID is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: AA1B 48B0 A223 26A5 A4C3 64CF C798 DC74 1BEC 319D * tag 'qtest-20250102-pull-request' of https://gitlab.com/farosas/qemu: qtest/fw-cfg: remove compiled out code tests/qtest/migration: Re-enable postcopy tests tests/migration: Drop arch_[source|target] tests/qtest/virtio-iommu-test: Don't pass uninitialized data into qtest_memwrite tests/qtest/bios-tables-test: Free tables at dump_aml_files tests/qtest/migration: Initialize buffer in probe_o_direct_support tests/qtest/migration: Do proper cleanup in the dirty_limit test tests/qtest/migration: Fix compile errors when CONFIG_UADK is set Signed-off-by: Stefan Hajnoczi <[email protected]>
Provide a way to report the process load average, via a new 'guest-get-load' command. This is only implemented for POSIX platforms providing 'getloadavg'. Example illustrated with qmp-shell: (QEMU) guest-get-load { "return": { "load15m": 1.546875, "load1m": 1.669921875, "load5m": 1.9306640625 } } Windows has no native equivalent API, but it would be possible to simulate it as illustrated here (BSD-3-Clause): giampaolo/psutil#1485 This is left as an exercise for future contributors. Signed-off-by: Daniel P. Berrangé <[email protected]> Reviewed-by: Konstantin Kostiuk <[email protected]> Message-ID: <[email protected]> Signed-off-by: Konstantin Kostiuk <[email protected]>
Make sure the error log of fsfreeze hooks when freeze/thaw/snapshot could be logged to system logs if the default logfile of qga can't be written or other situations Signed-off-by: Dehan Meng <[email protected]> Reviewed-by: Yan Vugenfirer <[email protected]> Reviewed-by: Konstantin Kostiuk <[email protected]> Message-ID: <[email protected]> Signed-off-by: Konstantin Kostiuk <[email protected]>
…into staging qga-pull-2025-01-06 # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCAAdFiEEwsLBCepDxjwUI+uE711egWG6hOcFAmd7vqMACgkQ711egWG6 # hOffRxAAotgBsE+o8fsZ2tfOKNPekW0hlw/hceDMJRA2UwOSPfw1fXfw59w4Pnfr # 4xwMC6O8Lu9ohBCBWHUvh3261gJgXQkLASbbzmF2oewfXZyvPXQI8nz78Ol3LBTG # gL8lwaBci3YuFtc+2/55VdQsWUqtrRMvBW9WSXTEC+0dQJv+VzblXlEF7hQkKppT # oGiHQL7pEA1UP7bRo4TyaoDnc8a+xz1J+vtEZUZghtreT7I3ELai/PFdo0U99fkf # HZfjyj2sHCZto+tAokjBcqf2RXDRqUVRsn3GgC1MQbh1LRdfShmhCTbgYYk/1MmD # 0xwiqAsw814W25299LM3xP2LHPm1jKtkZyCyuSXme9QtN9mC3F0TipR+HMRErAj0 # GQTBOJ0LinZsx5U/+ih4/qPj7RRov+SFzpVxBV3NUkpneVFp5FQgOo4n8l+h57ap # fmkZ6/hb8itn2oux7S9v/LkcmWE3FqThKO6qMXOhBhQDCKpICz8liYO/tPdB4x1Q # /HHQ9oon0A2eQw/53AYqz0SoazOqNtadg/hsQ11OHDExUjdp4M6hyxtmrJEQz4Et # AFvIby98lJZCZ1u65dv/Prb+gW0E8AQ5Ib0jJllAm7tL/GjVyhbRlUl8S9R2uTcZ # Gsb6e3DMBOny/lR9+2M4rCyCqXM58gTohuqtcXvAe8l2a3h23B4= # =uk2Q # -----END PGP SIGNATURE----- # gpg: Signature made Mon 06 Jan 2025 06:29:39 EST # gpg: using RSA key C2C2C109EA43C63C1423EB84EF5D5E8161BA84E7 # gpg: Good signature from "Kostiantyn Kostiuk (Upstream PR sign) <[email protected]>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: C2C2 C109 EA43 C63C 1423 EB84 EF5D 5E81 61BA 84E7 * tag 'qga-pull-2025-01-06' of https://github.com/kostyanf14/qemu: qemu-ga: Optimize freeze-hook script logic of logging error qga: implement a 'guest-get-load' command Signed-off-by: Stefan Hajnoczi <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll start reviewing these ...
In general, 100+ patches is going to be hard for the community to review. Consider combining patches whenever possible. Can this be combined with the patch that defines HEX_SREG_BADVA?
if tag == "J4_hintjumpr": | ||
return False | ||
return True | ||
return False |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
return ("A_JUMP" in attribdict[tag] or "A_CALL" in attribdict) and tag != "J2_hintmumpr"
self.gen_check_impl(f, regno) | ||
f.write(code_fmt(f"""\ | ||
TCGv {self.reg_tcg()} = tcg_temp_new(); | ||
gen_read_greg({self.reg_tcg()}, {self.reg_num}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this is a Dest, why do we need a read?
""")) | ||
def analyze_read(self, f, regno): | ||
f.write(code_fmt(f"""\ | ||
// const int {self.reg_num} = insn->regno[{regno}]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks incomplete - add a FIXME??
self.gen_check_impl(f, regno) | ||
f.write(code_fmt(f"""\ | ||
TCGv_i64 {self.reg_tcg()} = tcg_temp_new_i64(); | ||
gen_read_greg_pair({self.reg_tcg()}, {self.reg_num}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is read needed?
""")) | ||
def analyze_read(self, f, regno): | ||
f.write(code_fmt(f"""\ | ||
// const int {self.reg_num} = insn->regno[{regno}]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FIXME?
self.decl_reg_num(f, regno) | ||
f.write(code_fmt(f"""\ | ||
TCGv {self.reg_tcg()} = tcg_temp_new(); | ||
gen_read_sreg({self.reg_tcg()}, {self.reg_num}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Read needed?
""")) | ||
def analyze_read(self, f, regno): | ||
f.write(code_fmt(f"""\ | ||
// const int {self.reg_num} = insn->regno[{regno}]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FIXME??
self.decl_reg_num(f, regno) | ||
f.write(code_fmt(f"""\ | ||
TCGv_i64 {self.reg_tcg()} = tcg_temp_new_i64(); | ||
gen_read_sreg_pair({self.reg_tcg()}, {self.reg_num}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Read needed??
""")) | ||
def analyze_read(self, f, regno): | ||
f.write(code_fmt(f"""\ | ||
// const int {self.reg_num} = insn->regno[{regno}]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FIXME??
@@ -42,6 +42,14 @@ def gen_analyze_func(f, tag, regs, imms): | |||
f.write(f"static void analyze_{tag}(DisasContext *ctx)\n") | |||
f.write("{\n") | |||
|
|||
if hex_common.tag_ignore(tag): | |||
f.write("}\n\n") | |||
return |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For tag_ignore's, we should bail early and never need to generate the analyze function.
|
||
if ("A_PRIV" in hex_common.attribdict[tag] or | ||
"A_GUEST" in hex_common.attribdict[tag]): | ||
f.write("#ifndef CONFIG_USER_ONLY\n") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be outside the function definition?
#ifndef CONFIG_USER_ONLY static void analyze_{tag}(...) { ... } #endif /* !CONFIG_USER_ONLY */
## Skip the priv instructions | ||
if "A_PRIV" in hex_common.attribdict[tag]: | ||
for tag in hex_common.get_user_tags(): | ||
if hex_common.tag_ignore(tag): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggest combining this patch with the one that defines get_user_tags
Have get_user_tags/get_sys_tags/get_all_tags remove that tag_ignore ones, so you don't have to check it here.
@@ -60,6 +60,8 @@ def main(): | |||
f.write('#include "macros.h.inc"\n\n') | |||
|
|||
for tag in hex_common.tags: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hex_common.get_user_tags()
Pretty sure idef parser doesn't deal with system instructions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pretty sure idef parser doesn't deal with system instructions.
Yeah, and we actually skip those below:
## Skip the priv instructions
if "A_PRIV" in hex_common.attribdict[tag]:
continue
## Skip the guest instructions
if "A_GUEST" in hex_common.attribdict[tag]:
continue
So we can probably remove these if
's and just go with get_user_tags()
for tag in hex_common.get_user_tags(): | ||
f.write(f"OPCODE({tag}),\n") | ||
|
||
for tag in hex_common.get_sys_tags(): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wrap these with #ifndef CONFIG_USER_ONLY
if tag == "Y6_diag0": | ||
continue | ||
if tag == "Y6_diag1": | ||
if hex_common.tag_ignore(tag): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you modify the get_*_tags functions to remove the tag_ignore functions, this could be
`for tag in hex_common.get_all_tags():
...
It seems like your intent is to remove all uses of hex_common.tags, correct?`
@@ -121,18 +138,7 @@ def main(): | |||
f.write('#include "idef-generated-emitter.h.inc"\n\n') | |||
|
|||
for tag in hex_common.tags: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comments on prior patch regarding hex_common.get_all_tags() and tag_ignore.
Signed-off-by: Brian Cain <[email protected]>
FIXME: c2b33d0 introduced this, so why don't we want/need it anymore? What breaks without this change? Signed-off-by: Brian Cain <[email protected]>
Signed-off-by: Brian Cain <[email protected]>
Signed-off-by: Brian Cain <[email protected]>
Signed-off-by: Brian Cain <[email protected]>
Add PC to raise_exception helper Replace the fGEN_TCG_J2_trap0 macro override with the fTRAP()-generated system helper instead. FIXME: tweak gen_start_packet (move this elsewhere) Signed-off-by: Brian Cain <[email protected]>
Signed-off-by: Brian Cain <[email protected]>
Signed-off-by: Brian Cain <[email protected]>
Signed-off-by: Brian Cain <[email protected]>
These symbols are used by Hexagon Standalone OS to indicate whether the program should halt and wait for interrupts at startup. For QEMU, we want these programs to just continue crt0 startup through to the user program's main(). Signed-off-by: Brian Cain <[email protected]>
Signed-off-by: Brian Cain <[email protected]>
Signed-off-by: Matheus Tavares Bernardino <[email protected]>
Signed-off-by: Brian Cain <[email protected]> Signed-off-by: Matheus Tavares Bernardino <[email protected]>
Signed-off-by: Brian Cain <[email protected]>
FIXME: we'll omit this commit from upstreaming for now. The SYS_EXIT semihosting call should be included with the rest of the semihosting series, but is useful for testing this series. Signed-off-by: Sid Manning <[email protected]>
This property will be used by a future commit. Signed-off-by: Brian Cain <[email protected]>
Note: QTimer was implemented before ARM SSE Timer was upstreamed, there may be opportunity to use that device instead. Co-authored-by: Damien Hedde <[email protected]> Co-authored-by: Tobias Röhmel <[email protected]> Signed-off-by: Brian Cain <[email protected]>
Signed-off-by: Brian Cain <[email protected]>
…upts Looks like qdev_realize_and_unref must be called first otherwise the associated irqs functions are null. FIXME: checkpatch objects to else-if-w/o-else Signed-off-by: Sid Manning <[email protected]>
While reworking some changes from review suggestions, uncovered some bugs with the "virt" machine
review feedback: * remove ARCH_{S,G}ET_* macros * Replace &cpu->env with cpu_env(cs)
Review feedback: * Use extract32 instead of mask/neg (switched to ROUND_DOWN() instead) * Get rid of ARCH_{G,S}ET* macros * Switch from &cpu->env to cpu_env(cs)
No description provided.