#include "exotic/cester.h"
|
| | CESTER_BODY (void srwrite_sr(const uint32_t *in, uint32_t *out);void srwrite_cause(const uint32_t *in, uint32_t *out);void srwrite_rfe(const uint32_t *in, uint32_t *out);void srwrite_cause_value(const uint32_t *in, uint32_t *out);static const uint32_t s_in[8]={ 0x11111111, 0x22222222, 0x33333333, 0x44444444, 0x55555555, 0x66666666, 0x77777777, 0x88888888, };static void check(void(*probe)(const uint32_t *, uint32_t *)) { uint32_t out[8];for(unsigned i=0;i< 8;i++) out[i]=0;probe(s_in, out);for(unsigned i=0;i< 8;i++) cester_assert_uint_eq(s_in[i], out[i]);}) CESTER_TEST(sr_write_keeps_registers |
| |
| | check (srwrite_sr) |
| |
| | CESTER_TEST (cause_write_keeps_registers, CESTER_TEST(sr_write_tests, check(srwrite_cause);) |
| |
| | srwrite_cause_value (in, out) |
| |
| | cester_assert_uint_eq (0x300, ip) |
| |
| | cester_assert_uint_eq (0xff00, out[1]) |
| |
◆ CESTER_NO_SIGNAL
◆ CESTER_NO_TIME
◆ EXIT_FAILURE
◆ EXIT_SUCCESS
◆ cester_assert_uint_eq() [1/2]
| cester_assert_uint_eq |
( |
0x300 |
, |
|
|
ip |
|
|
) |
| |
◆ cester_assert_uint_eq() [2/2]
| cester_assert_uint_eq |
( |
0xff00 |
, |
|
|
out |
[1] |
|
) |
| |
◆ CESTER_BODY()
| CESTER_BODY |
( |
void srwrite_sr(const uint32_t *in, uint32_t *out);void srwrite_cause(const uint32_t *in, uint32_t *out);void srwrite_rfe(const uint32_t *in, uint32_t *out);void srwrite_cause_value(const uint32_t *in, uint32_t *out);static const uint32_t |
s_in[8] = { 0x11111111, 0x22222222, 0x33333333, 0x44444444, 0x55555555, 0x66666666, 0x77777777, 0x88888888, }; static void check(void (*probe)(const uint32_t *, uint32_t *)) { uint32_t out[8]; for (unsigned i = 0; i < 8; i++) out[i] = 0; probe(s_in, out); for (unsigned i = 0; i < 8; i++) cester_assert_uint_eq(s_in[i], out[i]); } | ) |
|
◆ CESTER_TEST()
| CESTER_TEST |
( |
cause_write_keeps_registers |
, |
|
|
CESTER_TEST( |
sr_write_tests, |
|
|
check(srwrite_cause); |
|
|
) |
| |
◆ check()
◆ srwrite_cause_value()
| srwrite_cause_value |
( |
in |
, |
|
|
out |
|
|
) |
| |
◆ ip
| uint32_t ip = out[0] & 0x300 |
◆ out
| uint32_t out[2] = { 0, 0 } |
◆ sr_write_tests