Taylor Simpson
46ef47e2a7
Hexagon (target/hexagon) circular addressing
...
The following instructions are added
L2_loadrub_pci Rd32 = memub(Rx32++#s4:0:circ(Mu2))
L2_loadrb_pci Rd32 = memb(Rx32++#s4:0:circ(Mu2))
L2_loadruh_pci Rd32 = memuh(Rx32++#s4:1:circ(Mu2))
L2_loadrh_pci Rd32 = memh(Rx32++#s4:1:circ(Mu2))
L2_loadri_pci Rd32 = memw(Rx32++#s4:2:circ(Mu2))
L2_loadrd_pci Rdd32 = memd(Rx32++#s4:3:circ(Mu2))
S2_storerb_pci memb(Rx32++#s4:0:circ(Mu2)) = Rt32
S2_storerh_pci memh(Rx32++#s4:1:circ(Mu2)) = Rt32
S2_storerf_pci memh(Rx32++#s4:1:circ(Mu2)) = Rt.H32
S2_storeri_pci memw(Rx32++#s4:2:circ(Mu2)) = Rt32
S2_storerd_pci memd(Rx32++#s4:3:circ(Mu2)) = Rtt32
S2_storerbnew_pci memb(Rx32++#s4:0:circ(Mu2)) = Nt8.new
S2_storerhnew_pci memw(Rx32++#s4:1:circ(Mu2)) = Nt8.new
S2_storerinew_pci memw(Rx32++#s4:2:circ(Mu2)) = Nt8.new
L2_loadrub_pcr Rd32 = memub(Rx32++I:circ(Mu2))
L2_loadrb_pcr Rd32 = memb(Rx32++I:circ(Mu2))
L2_loadruh_pcr Rd32 = memuh(Rx32++I:circ(Mu2))
L2_loadrh_pcr Rd32 = memh(Rx32++I:circ(Mu2))
L2_loadri_pcr Rd32 = memw(Rx32++I:circ(Mu2))
L2_loadrd_pcr Rdd32 = memd(Rx32++I:circ(Mu2))
S2_storerb_pcr memb(Rx32++I:circ(Mu2)) = Rt32
S2_storerh_pcr memh(Rx32++I:circ(Mu2)) = Rt32
S2_storerf_pcr memh(Rx32++I:circ(Mu2)) = Rt32.H32
S2_storeri_pcr memw(Rx32++I:circ(Mu2)) = Rt32
S2_storerd_pcr memd(Rx32++I:circ(Mu2)) = Rtt32
S2_storerbnew_pcr memb(Rx32++I:circ(Mu2)) = Nt8.new
S2_storerhnew_pcr memh(Rx32++I:circ(Mu2)) = Nt8.new
S2_storerinew_pcr memw(Rx32++I:circ(Mu2)) = Nt8.new
Test cases in tests/tcg/hexagon/circ.c
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-23-git-send-email-tsimpson@quicinc.com >
[rth: Squash <1619667142-29636-1-git-send-email-tsimpson@quicinc.com >
removing gen_read_reg and gen_set_byte to avoid clang Werror.]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 16:01:39 -07:00
Richard Henderson
af93ccacc7
decodetree: Extend argument set syntax to allow types
...
Rather than force all structure members to be 'int',
allow the type of the member to be specified.
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 11:45:35 -07:00
Luis Fernando Fujita Pires
60c425f328
decodetree: Add support for 64-bit instructions
...
Allow '64' to be specified for the instruction width command line params
and use the appropriate extract and deposit functions in that case.
This will be used to implement the new 64-bit Power ISA 3.1 instructions.
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Signed-off-by: Luis Pires <luis.pires@eldorado.org.br >
Message-Id: <CP2PR80MB3668E123E2EFDB0ACD3A46F1DA759@CP2PR80MB3668.lamprd80.prod.outlook.com >
[rth: Drop the change to the field type; use bitop_width instead of separate
variables for extract/deposit; use "ull" for 64-bit constants.]
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 11:45:19 -07:00
Richard Henderson
9f6e2b4d34
decodetree: More use of f-strings
...
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 11:45:02 -07:00
Richard Henderson
c7cefe6c66
decodetree: Introduce whex and whexC helpers
...
Form a hex constant of the appropriate insnwidth.
Begin using f-strings on changed lines.
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 11:44:56 -07:00
Philippe Mathieu-Daudé
db647703ba
exec: Remove accel/tcg/ from include paths
...
When TCG is enabled, the accel/tcg/ include path is added to the
project global include search list. This accel/tcg/ directory
contains a header named "internal.h" which, while intented to
be internal to accel/tcg/, is accessible by all files compiled
when TCG is enabled. This might lead to problem with other
directories using the same "internal.h" header name:
$ git ls-files | fgrep /internal.h
accel/tcg/internal.h
include/hw/ide/internal.h
target/hexagon/internal.h
target/mips/internal.h
target/ppc/internal.h
target/s390x/internal.h
As we don't need to expose accel/tcg/ internals to the rest of
the code base, simplify by removing it from the include search
list, and include the accel/tcg/ public headers relative to the
project root search path (which is already in the generic include
search path).
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Claudio Fontana <cfontana@suse.de >
Message-Id: <20210413081008.3409459-1-f4bug@amsat.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 11:44:13 -07:00
Taylor Simpson
57d352ac29
Hexagon (target/hexagon) add A4_addp_c/A4_subp_c
...
Rdd32 = add(Rss32, Rtt32, Px4):carry
Add with carry
Rdd32 = sub(Rss32, Rtt32, Px4):carry
Sub with carry
Test cases in tests/tcg/hexagon/multi_result.c
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-22-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
0a65d28693
Hexagon (target/hexagon) add A6_vminub_RdP
...
Rdd32,Pe4 = vminub(Rtt32, Rss32)
Vector min of bytes
Test cases in tests/tcg/hexagon/multi_result.c
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-21-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
da74cd2dce
Hexagon (target/hexagon) add A5_ACS (vacsh)
...
Rxx32,Pe4 = vacsh(Rss32, Rtt32)
Add compare and select elements of two vectors
Test cases in tests/tcg/hexagon/multi_result.c
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-20-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
dd8705bdf5
Hexagon (target/hexagon) add F2_sfinvsqrta
...
Rd32,Pe4 = sfinvsqrta(Rs32)
Square root approx
The helper packs the 2 32-bit results into a 64-bit value,
and the fGEN_TCG override unpacks them into the proper results.
Test cases in tests/tcg/hexagon/multi_result.c
FP exception tests added to tests/tcg/hexagon/fpstuff.c
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-19-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
d934c16d8a
Hexagon (target/hexagon) add F2_sfrecipa instruction
...
Rd32,Pe4 = sfrecipa(Rs32, Rt32)
Recripocal approx
Test cases in tests/tcg/hexagon/multi_result.c
FP exception tests added to tests/tcg/hexagon/fpstuff.c
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-18-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
85580a6557
Hexagon (target/hexagon) compile all debug code
...
Change #if HEX_DEBUG to if (HEX_DEBUG) so the debug code doesn't bit rot
Suggested-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-17-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
a33872eb53
Hexagon (target/hexagon) move QEMU_GENERATE to only be on during macros.h
...
Suggested-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-16-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
80be682844
Hexagon (target/hexagon) cleanup reg_field_info definition
...
Include size in declaration
Remove {0, 0} entry
Suggested-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-15-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
9fe33c0e70
Hexagon (target/hexagon) cleanup ternary operators in semantics
...
Change (cond ? (res = x) : (res = y)) to res = (cond ? x : y)
This makes the semnatics easier to for idef-parser to deal with
The following instructions are impacted
C2_any8
C2_all8
C2_mux
C2_muxii
C2_muxir
C2_muxri
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-14-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
b3f37abdd3
Hexagon (target/hexagon) use softfloat for float-to-int conversions
...
Use the proper return for helpers that convert to unsigned
Remove target/hexagon/conv_emu.[ch]
Suggested-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-13-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
1cb532fe45
Hexagon (target/hexagon) replace float32_mul_pow2 with float32_scalbn
...
Suggested-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-12-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
c0336c87b7
Hexagon (target/hexagon) use softfloat default NaN and tininess
...
Suggested-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-11-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
8c36752435
Hexagon (target/hexagon) change type of softfloat_roundingmodes
...
Suggested-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-10-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
85511161f7
Hexagon (target/hexagon) remove unused carry_from_add64 function
...
Suggested-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-9-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
92cfa25fd2
Hexagon (target/hexagon) change variables from int to bool when appropriate
...
Suggested-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-8-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
6c677c60ae
Hexagon (target/hexagon) decide if pred has been written at TCG gen time
...
Multiple writes to the same preg are and'ed together. Rather than
generating a runtime check, we can determine at TCG generation time
if the predicate has previously been written in the packet.
Test added to tests/tcg/hexagon/misc.c
Suggested-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-7-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
743debbc37
Hexagon (target/hexagon) properly generate TB end for DISAS_NORETURN
...
When exiting a TB, generate all the code before returning from
hexagon_tr_translate_packet so that nothing needs to be done in
hexagon_tr_tb_stop.
Suggested-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-6-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
7d9ab2021f
Hexagon (target/hexagon) use env_archcpu and env_cpu
...
Remove hexagon_env_get_cpu and replace with env_archcpu
Replace CPU(hexagon_env_get_cpu(env)) with env_cpu(env)
Suggested-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-5-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
2d27cebbf8
Hexagon (target/hexagon) remove unnecessary inline directives
...
Suggested-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-4-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
edf26ade43
Hexagon (target/hexagon) cleanup gen_log_predicated_reg_write_pair
...
Similar to previous cleanup of gen_log_predicated_reg_write
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-3-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
d799f8ad08
Hexagon (target/hexagon) TCG generation cleanup
...
Simplify TCG generation of hex_reg_written
Suggested-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <1617930474-31979-2-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
5f261764ce
target/hexagon: remove unnecessary semicolons
...
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reported-by: Richard Henderson <<richard.henderson@linaro.org >
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <1615784100-26459-1-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
d9099caf04
target/hexagon: fix typo in comment
...
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <1615784115-26559-1-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:43 -07:00
Taylor Simpson
1de468b398
target/hexagon: Change DECODE_MAPPED_REG operand name to OPNUM
...
Reported-by: Richard Henderson <<richard.henderson@linaro.org >
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <1615784049-26215-1-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:42 -07:00
Taylor Simpson
4c82c2b433
target/hexagon: remove unnecessary checks in find_iclass_slots
...
Reported-by: Richard Henderson <<richard.henderson@linaro.org >
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <1615784037-26129-1-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:42 -07:00
Taylor Simpson
a27c100c23
target/hexagon: translation changes
...
Change cpu_ldl_code to translator_ldl.
Don't end the TB after every packet when HEX_DEBUG is on.
Make gen_check_store_width a simple call.
Reported-by: Richard Henderson <<richard.henderson@linaro.org >
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com >
Message-Id: <1615783984-25918-1-git-send-email-tsimpson@quicinc.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-05-01 08:31:42 -07:00
Patrick Venture
9cccb912cf
aspeed: Add support for the quanta-q7l1-bmc board
...
The Quanta-Q71l BMC board is a board supported by OpenBMC.
Tested: Booted quanta-q71l firmware.
Signed-off-by: Patrick Venture <venture@google.com >
Reviewed-by: Hao Wu <wuhaotsh@google.com >
Reviewed-by: Cédric Le Goater <clg@kaod.org >
Message-Id: <20210416162426.3217033-1-venture@google.com >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:52 +02:00
Cédric Le Goater
d24aa3241a
hw/block: m25p80: Add support for mt25ql02g and mt25qu02g
...
The Micron mt25ql02g is a 3V 2Gb serial NOR flash memory supporting
dual I/O and quad I/O, 4KB, 32KB, 64KB sector erase. It also supports
4B opcodes. The mt25qu02g operates at 1.8V.
https://4donline.ihs.com/images/VipMasterIC/IC/MICT/MICT-S-A0008500026/MICT-S-A0008511423-1.pdf?hkey=52A5661711E402568146F3353EA87419
Cc: Alistair Francis <alistair.francis@wdc.com >
Cc: Francisco Iglesias <francisco.iglesias@xilinx.com >
Acked-by: Alistair Francis <alistair.francis@wdc.com >
Reviewed-by: Francisco Iglesias <francisco.iglesias@xilinx.com >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:52 +02:00
Cédric Le Goater
58e52bdb87
aspeed: Add support for the rainier-bmc board
...
The Rainier BMC board is a board for the middle range POWER10 IBM systems.
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Joel Stanley <joel@jms.id.au >
Message-Id: <20210407171637.777743-19-clg@kaod.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:52 +02:00
Cédric Le Goater
63a9c7e0a0
aspeed: Deprecate the swift-bmc machine
...
The SWIFT machine never came out of the lab and we already have enough
AST2500 based OpenPower machines.
Cc: Adriana Kobylak <anoo@us.ibm.com >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:52 +02:00
Cédric Le Goater
5fde7f10c0
tests/qtest: Rename m25p80 test in aspeed_smc test
...
The m25p80 test depends on the Aspeed SMC controller to test our
SPI-NOR flash support. Reflect this dependency by changing the name.
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Joel Stanley <joel@jms.id.au >
Message-Id: <20210407171637.777743-17-clg@kaod.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:52 +02:00
Cédric Le Goater
1769a70e54
aspeed/smc: Add extra controls to request DMA
...
The AST2600 SPI controllers have a set of bits to request/grant DMA
access. Add a new SMC feature for these controllers and use it to
check access to the DMA registers.
Cc: Chin-Ting Kuo <chin-ting_kuo@aspeedtech.com >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Joel Stanley <joel@jms.id.au >
Message-Id: <20210407171637.777743-16-clg@kaod.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:52 +02:00
Cédric Le Goater
1c5ee69da5
aspeed/smc: Add a 'features' attribute to the object class
...
It will simplify extensions of the SMC model.
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Joel Stanley <joel@jms.id.au >
Message-Id: <20210407171637.777743-15-clg@kaod.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:52 +02:00
Cédric Le Goater
8efbee28f4
hw/misc/aspeed_xdma: Add AST2600 support
...
When we introduced support for the AST2600 SoC, the XDMA controller
was forgotten. It went unnoticed because it's not used under emulation.
But the register layout being different, the reset procedure is bogus
and this breaks kexec.
Add a AspeedXDMAClass to take into account the register differences.
Cc: Eddie James <eajames@linux.ibm.com >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Eddie James <eajames@linux.ibm.com >
Message-Id: <20210407171637.777743-14-clg@kaod.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:52 +02:00
Joel Stanley
224f010ba8
tests/acceptance: Test ast2600 machine
...
This tests a Debian multi-soc arm32 Linux kernel on the AST2600 based
Tacoma BMC machine.
There is no root file system so the test terminates when boot reaches
the stage where it attempts and fails to mount something.
Cc: Cleber Rosa <crosa@redhat.com >
Cc: Wainer dos Santos Moschetta <wainersm@redhat.com >
Signed-off-by: Joel Stanley <joel@jms.id.au >
Reviewed-by: Cédric Le Goater <clg@kaod.org >
Tested-by: Cédric Le Goater <clg@kaod.org >
[ clg : - removed comment
- removed ending self.vm.shutdown() ]
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Message-Id: <20210304123951.163411-3-joel@jms.id.au >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Willian Rampazzo <willianr@redhat.com >
Message-Id: <20210407171637.777743-13-clg@kaod.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:51 +02:00
Joel Stanley
a3a178c663
tests/acceptance: Test ast2400 and ast2500 machines
...
Test MTD images from the OpenBMC project on AST2400 and AST2500 SoCs
from ASPEED, by booting Palmetto and Romulus BMC machines.
The images are fetched from OpenBMC's release directory on github.
Cc: Cleber Rosa <crosa@redhat.com >
Cc: Wainer dos Santos Moschetta <wainersm@redhat.com >
Co-developed-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Cédric Le Goater <clg@kaod.org >
Tested-by: Cédric Le Goater <clg@kaod.org >
Signed-off-by: Joel Stanley <joel@jms.id.au >
Reviewed-by: Cleber Rosa <crosa@redhat.com >
Tested-by: Cleber Rosa <crosa@redhat.com >
[ clg : - removed comment
- removed ending self.vm.shutdown() ]
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Message-Id: <20210304123951.163411-2-joel@jms.id.au >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Willian Rampazzo <willianr@redhat.com >
Message-Id: <20210407171637.777743-12-clg@kaod.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:51 +02:00
Joel Stanley
666099520a
tests/qtest: Add test for Aspeed HACE
...
This adds a test for the Aspeed Hash and Crypto (HACE) engine. It tests
the currently implemented behavior of the hash functionality.
The tests are similar, but are cut/pasted instead of broken out into a
common function so the assert machinery produces useful output when a
test fails.
Co-developed-by: Cédric Le Goater <clg@kaod.org >
Co-developed-by: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com >
Reviewed-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com >
Acked-by: Thomas Huth <thuth@redhat.com >
Signed-off-by: Joel Stanley <joel@jms.id.au >
Message-Id: <20210409000253.1475587-4-joel@jms.id.au >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:51 +02:00
Joel Stanley
a3888d757a
aspeed: Integrate HACE
...
Add the hash and crypto engine model to the Aspeed socs.
Reviewed-by: Andrew Jeffery <andrew@aj.id.au >
Reviewed-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com >
Signed-off-by: Joel Stanley <joel@jms.id.au >
Message-Id: <20210409000253.1475587-3-joel@jms.id.au >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:51 +02:00
Joel Stanley
c5475b3f9a
hw: Model ASPEED's Hash and Crypto Engine
...
The HACE (Hash and Crypto Engine) is a device that offloads MD5, SHA1,
SHA2, RSA and other cryptographic algorithms.
This initial model implements a subset of the device's functionality;
currently only MD5/SHA hashing, and on the ast2600's scatter gather
engine.
Co-developed-by: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com >
Reviewed-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Signed-off-by: Joel Stanley <joel@jms.id.au >
Reviewed-by: Andrew Jeffery <andrew@aj.id.au >
[ clg: - fixes for 32-bit and OSX builds ]
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Message-Id: <20210409000253.1475587-2-joel@jms.id.au >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:51 +02:00
Philippe Mathieu-Daudé
e9c568dbc2
hw/arm/aspeed: Do not sysbus-map mmio flash region directly, use alias
...
The flash mmio region is exposed as an AddressSpace.
AddressSpaces must not be sysbus-mapped, therefore map
the region using an alias.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
[ clg : Fix DMA_FLASH_ADDR() ]
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Message-Id: <20210312182851.1922972-3-f4bug@amsat.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Message-Id: <20210407171637.777743-6-clg@kaod.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:51 +02:00
Cédric Le Goater
3f7a53b224
aspeed/i2c: Rename DMA address space
...
It improves 'info mtree' output.
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20210407171637.777743-5-clg@kaod.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:51 +02:00
Cédric Le Goater
7492515909
aspeed/i2c: Fix DMA address mask
...
The RAM memory region is now used for DMAs accesses instead of the
memory address space region. Mask off the top bits of the DMA address
to reflect this change.
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Message-Id: <20210407171637.777743-4-clg@kaod.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:51 +02:00
Cédric Le Goater
d177892d4a
aspeed/smc: Remove unused "sdram-base" property
...
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20210407171637.777743-3-clg@kaod.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:51 +02:00
Cédric Le Goater
0df2d9a673
aspeed/smc: Use the RAM memory region for DMAs
...
Instead of passing the memory address space region, simply use the RAM
memory region instead. This simplifies RAM accesses.
This patch breaks migration compatibility.
Fixes: c4e1f0b483
("aspeed/smc: Add support for DMAs")
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
Message-Id: <20210407171637.777743-2-clg@kaod.org >
Signed-off-by: Cédric Le Goater <clg@kaod.org >
2021-05-01 10:03:51 +02:00