Ivana Mitrovic
a8d778516d
arch-riscv,sim: m5ops argument / return fix for 32 bit RISC-V ( #900 )
...
M5Ops C / C++ functions partially use 64 bit arguments and return value.
In general, 64 bit arguments and return values are possible for 32 bit
RISC-V systems as well, since the arguments and the return value is
split into two registers. However, at the moment, this does not work for
32 bit RISC-V systems on the simulator side, since there is a one to one
mapping between argument registers and m5op function parameters.
To solve this problem, the get() function of the RISC-V reg_abi is
updated. It now will merge two registers if there is a 64 bit argument.
For this, the function code has to be passed to the get() function. The
default value of this function code is set to 0xF00, since 0x00 is
already used for M5_ARM. The parameter list of other get() functions for
argument return is also extended by this function code parameter with
the keyword [[maybe_unused]].
To enable a return value of size 64 bit, a0 is assigned with the lower
32 bit and a1 with the higher 32 bit.
Related Issue: https://github.com/gem5/gem5/issues/881
2024-04-08 10:09:17 -07:00
..
2024-04-01 18:05:56 +00:00
2023-11-29 22:06:41 -08:00
2023-11-29 22:06:41 -08:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2021-12-11 04:00:56 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2022-02-26 09:56:26 +00:00
2022-02-26 09:56:26 +00:00
2022-03-02 08:19:58 +00:00
2021-07-28 01:48:03 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2023-11-29 22:06:41 -08:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2023-11-29 22:06:41 -08:00
2023-01-17 09:16:20 +00:00
2023-01-17 09:16:20 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2022-01-13 05:21:41 +00:00
2022-01-13 05:21:41 +00:00
2022-01-13 05:21:41 +00:00
2021-07-01 19:08:24 +00:00
2022-11-03 05:34:09 +00:00
2022-11-03 05:34:09 +00:00
2021-07-07 23:18:59 +00:00
2022-08-24 21:47:07 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2023-11-29 22:06:41 -08:00
2021-07-01 19:08:24 +00:00
2023-01-13 05:58:51 +00:00
2023-03-13 06:47:09 +00:00
2022-11-22 10:45:30 +00:00
2021-10-01 04:57:56 +00:00
2023-09-07 08:52:24 -07:00
2023-09-07 08:52:24 -07:00
2021-12-11 04:00:56 +00:00
2021-12-11 04:00:56 +00:00
2021-07-01 19:08:24 +00:00
2022-06-03 07:23:18 +00:00
2021-07-01 19:08:24 +00:00
2021-07-06 09:59:11 +00:00
2022-11-29 18:54:12 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2022-02-09 10:24:54 +00:00
2021-07-01 19:08:24 +00:00
2023-01-17 09:16:20 +00:00
2023-11-30 07:27:52 -08:00
2023-11-30 07:27:52 -08:00
2021-12-16 01:57:26 +00:00
2021-12-16 01:57:26 +00:00
2023-10-20 09:27:50 +01:00
2023-11-29 22:06:41 -08:00
2023-12-01 22:00:26 +00:00
2021-11-18 07:09:00 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2023-07-10 23:00:31 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2022-03-29 07:13:44 +00:00
2021-12-11 04:00:56 +00:00
2023-10-06 20:39:57 +00:00
2023-10-06 20:39:57 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2023-03-13 06:47:09 +00:00
2021-07-06 09:59:11 +00:00
2021-07-06 09:59:11 +00:00
2023-11-29 22:06:41 -08:00
2023-11-29 22:06:41 -08:00
2021-07-01 19:08:24 +00:00
2024-02-05 12:17:05 -08:00
2024-02-05 12:17:05 -08:00
2023-11-29 22:06:41 -08:00
2023-01-17 09:16:20 +00:00
2023-01-17 09:16:20 +00:00
2024-03-11 15:27:58 +00:00
2024-04-01 18:05:56 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2023-11-29 22:06:41 -08:00
2021-07-31 18:06:52 +00:00
2021-07-01 19:08:24 +00:00
2023-11-29 22:06:41 -08:00
2023-12-01 17:33:59 -08:00
2022-10-18 12:11:25 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2022-03-29 07:13:44 +00:00
2022-03-29 07:13:44 +00:00
2021-07-28 01:48:03 +00:00
2022-09-13 08:46:56 +00:00
2023-07-19 08:45:29 -07:00
2021-08-28 04:18:12 +00:00
2021-09-22 05:31:01 +00:00
2023-09-07 11:54:56 +08:00
2023-11-29 22:06:41 -08:00
2021-07-01 19:08:24 +00:00
2022-11-22 16:02:53 +00:00
2021-07-01 19:08:24 +00:00
2023-03-21 06:53:55 +00:00
2023-03-21 06:53:55 +00:00
2023-11-30 07:27:52 -08:00
2022-12-06 18:04:46 +00:00
2023-01-17 09:16:20 +00:00
2023-01-17 09:16:20 +00:00
2023-01-17 09:16:20 +00:00
2023-01-17 09:16:20 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2023-11-29 22:06:41 -08:00
2024-04-01 18:05:56 +00:00
2020-02-18 03:34:31 +00:00
2021-12-17 05:45:26 +00:00
2021-12-17 05:45:26 +00:00
2021-07-01 19:08:24 +00:00
2023-09-07 03:18:58 +00:00
2024-04-02 14:59:24 -07:00
2021-07-01 19:08:24 +00:00
2023-02-03 06:11:45 +00:00
2023-09-20 14:00:45 -07:00
2023-11-29 22:06:41 -08:00
2021-07-01 19:08:24 +00:00
2021-07-01 19:08:24 +00:00
2022-08-03 09:10:41 +00:00
2022-12-15 21:38:01 +00:00
2022-12-15 21:38:01 +00:00
2021-08-21 00:54:54 +00:00
2021-08-21 00:54:54 +00:00
2023-11-29 22:06:41 -08:00
2023-03-29 03:05:06 +00:00
2023-12-01 22:00:26 +00:00
2024-03-01 16:41:18 -08:00