Nugget
Bare-metal libraries and examples for the original PlayStation
Loading...
Searching...
No Matches
Macros | Functions | Variables
sr-write.c File Reference
#include "exotic/cester.h"
Include dependency graph for sr-write.c:

Macros

#define CESTER_NO_SIGNAL
 
#define CESTER_NO_TIME
 
#define EXIT_SUCCESS   0
 
#define EXIT_FAILURE   1
 

Functions

 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])
 

Variables

 sr_write_tests
 
uint32_t out [2] = { 0, 0 }
 
uint32_t ip = out[0] & 0x300
 

Macro Definition Documentation

◆ CESTER_NO_SIGNAL

#define CESTER_NO_SIGNAL

◆ CESTER_NO_TIME

#define CESTER_NO_TIME

◆ EXIT_FAILURE

#define EXIT_FAILURE   1

◆ EXIT_SUCCESS

#define EXIT_SUCCESS   0

Function Documentation

◆ 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()

check ( srwrite_sr  )

◆ srwrite_cause_value()

srwrite_cause_value ( in  ,
out   
)

Variable Documentation

◆ ip

uint32_t ip = out[0] & 0x300

◆ out

uint32_t out[2] = { 0, 0 }

◆ sr_write_tests

sr_write_tests