1 //
2 // Copyright (c) 2010-2025 Antmicro
3 //
4 // This file is licensed under MIT License.
5 // Full license text is available in 'licenses/MIT.txt' file.
6 //
7 
8 #include <stdint.h>
9 #include "arch_callbacks.h"
10 #include "renode_imports.h"
11 
EXTERNAL(uint32_t,read_byte_from_port,uint32_t)12 EXTERNAL(uint32_t, read_byte_from_port, uint32_t)
13 uint8_t tlib_read_byte_from_port(uint16_t address)
14 {
15   return (uint8_t)read_byte_from_port(address);
16 }
17 
EXTERNAL(uint32_t,read_word_from_port,uint32_t)18 EXTERNAL(uint32_t, read_word_from_port, uint32_t)
19 uint16_t tlib_read_word_from_port(uint16_t address)
20 {
21   return (uint16_t)read_word_from_port(address);
22 }
23 
EXTERNAL(uint32_t,read_double_word_from_port,uint32_t)24 EXTERNAL(uint32_t, read_double_word_from_port, uint32_t)
25 uint32_t tlib_read_double_word_from_port(uint16_t address)
26 {
27   return read_double_word_from_port(address);
28 }
29 
EXTERNAL(void,write_byte_to_port,uint32_t,uint32_t)30 EXTERNAL(void, write_byte_to_port, uint32_t, uint32_t)
31 void tlib_write_byte_to_port(uint16_t address, uint8_t value)
32 {
33   return write_byte_to_port(address, value);
34 }
35 
EXTERNAL(void,write_word_to_port,uint32_t,uint32_t)36 EXTERNAL(void, write_word_to_port, uint32_t, uint32_t)
37 void tlib_write_word_to_port(uint16_t address, uint16_t value)
38 {
39   return write_word_to_port(address, value);
40 }
41 
EXTERNAL(void,write_double_word_to_port,uint32_t,uint32_t)42 EXTERNAL(void, write_double_word_to_port, uint32_t, uint32_t)
43 void tlib_write_double_word_to_port(uint16_t address, uint32_t value)
44 {
45   return write_double_word_to_port(address, value);
46 }
47 
EXTERNAL(int32_t,get_pending_interrupt)48 EXTERNAL(int32_t, get_pending_interrupt)
49 int tlib_get_pending_interrupt()
50 {
51   return get_pending_interrupt();
52 }
53 
EXTERNAL(uint64_t,get_instruction_count)54 EXTERNAL(uint64_t, get_instruction_count)
55 uint64_t tlib_get_instruction_count()
56 {
57     return get_instruction_count();
58 }
59