Skip to content

Commit a050927

Browse files
committed
Add type annotation for read/write function in hw
1 parent b73ff54 commit a050927

File tree

11 files changed

+25
-23
lines changed

11 files changed

+25
-23
lines changed

qiling/hw/char/stm32f4xx_usart.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def __init__(self, ql, label, intn=None):
5959
self.recv_buf = bytearray()
6060
self.send_buf = bytearray()
6161

62-
def read(self, offset, size):
62+
def read(self, offset: int, size: int) -> int:
6363
buf = ctypes.create_string_buffer(size)
6464
ctypes.memmove(buf, ctypes.addressof(self.usart) + offset, size)
6565
retval = int.from_bytes(buf.raw, byteorder='little')
@@ -69,7 +69,7 @@ def read(self, offset, size):
6969

7070
return retval
7171

72-
def write(self, offset, size, value):
72+
def write(self, offset: int, size: int, value: int):
7373
if offset == self.struct.SR.offset:
7474
self.usart.SR &= value | USART_SR.CTS | USART_SR.LBD | USART_SR.TC | USART_SR.RXNE
7575

qiling/hw/dma/stm32f4xx_dma.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,13 +122,13 @@ def __init__(
122122
def stream_index(self, offset):
123123
return (offset - self.stream_base) // self.stream_size
124124

125-
def read(self, offset, size):
125+
def read(self, offset: int, size: int) -> int:
126126
buf = ctypes.create_string_buffer(size)
127127
ctypes.memmove(buf, ctypes.addressof(self.dma) + offset, size)
128128
retval = int.from_bytes(buf.raw, byteorder='little')
129129
return retval
130130

131-
def write(self, offset, size, value):
131+
def write(self, offset: int, size: int, value: int):
132132
if offset == self.struct.LIFCR.offset:
133133
self.dma.LISR &= ~value
134134

qiling/hw/gpio/stm32f4xx_gpio.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,15 @@ def __init__(self, ql, label,
6464
PUPDR = pupdr_reset,
6565
)
6666

67-
def read(self, offset, size):
67+
def read(self, offset: int, size: int) -> int:
6868
if offset == self.struct.BSRR.offset:
6969
return 0x00
7070

7171
buf = ctypes.create_string_buffer(size)
7272
ctypes.memmove(buf, ctypes.addressof(self.gpio) + offset, size)
7373
return int.from_bytes(buf.raw, byteorder='little')
7474

75-
def write(self, offset, size, value):
75+
def write(self, offset: int, size: int, value: int):
7676
if offset == self.struct.IDR.offset:
7777
return
7878

qiling/hw/i2c/stm32f4xx_i2c.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,14 @@ def reset(self):
6262
TRISE = 0x0002
6363
)
6464

65-
def read(self, offset, size):
65+
def read(self, offset: int, size: int) -> int:
6666
self.ql.log.debug(f'[{self.label.upper()}] [R] {self.find_field(offset, size):10s}')
6767

6868
buf = ctypes.create_string_buffer(size)
6969
ctypes.memmove(buf, ctypes.addressof(self.i2c) + offset, size)
7070
return int.from_bytes(buf.raw, byteorder='little')
7171

72-
def write(self, offset, size, value):
72+
def write(self, offset: int, size: int, value: int):
7373
self.ql.log.debug(f'[{self.label.upper()}] [W] {self.find_field(offset, size):10s} = {hex(value)}')
7474

7575
if offset in [self.struct.SR1.offset, self.struct.SR2.offset]:

qiling/hw/intc/cm4_nvic.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,12 +115,12 @@ def step(self):
115115
self.ql.arch.handle_interupt(IRQn)
116116
self.ql.arch.exit_intr()
117117

118-
def read(self, offset, size):
118+
def read(self, offset: int, size: int) -> int:
119119
buf = ctypes.create_string_buffer(size)
120120
ctypes.memmove(buf, ctypes.addressof(self.nvic) + offset, size)
121121
return int.from_bytes(buf.raw, byteorder='little')
122122

123-
def write(self, offset, size, value):
123+
def write(self, offset: int, size: int, value: int):
124124
def write_byte(ofs, byte):
125125
for var, func in self.triggers:
126126
if var.offset <= ofs < var.offset + var.size:

qiling/hw/misc/cm4_scb.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,12 +117,12 @@ def get_pending(self, IRQn):
117117
def get_priority(self, IRQn):
118118
return self.scb.SHP[(IRQn & 0xf) - 4]
119119

120-
def read(self, offset, size):
120+
def read(self, offset: int, size: int) -> int:
121121
buf = ctypes.create_string_buffer(size)
122122
ctypes.memmove(buf, ctypes.addressof(self.scb) + offset, size)
123123
return int.from_bytes(buf.raw, byteorder='little')
124124

125-
def write(self, offset, size, value):
125+
def write(self, offset: int, size: int, value: int):
126126
if offset == self.struct.ICSR.offset:
127127
if (value >> 28) & 1:
128128
self.ql.hw.nvic.set_pending(IRQ.PENDSV)

qiling/hw/misc/stm32f4xx_rcc.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,14 +79,14 @@ def __init__(self, ql, label, intn=None):
7979

8080
self.intn = intn
8181

82-
def read(self, offset, size):
82+
def read(self, offset: int, size: int) -> int:
8383
self.ql.log.debug(f'[{self.label.upper()}] [R] {self.find_field(offset, size):10s}')
8484

8585
buf = ctypes.create_string_buffer(size)
8686
ctypes.memmove(buf, ctypes.addressof(self.rcc) + offset, size)
8787
return int.from_bytes(buf.raw, byteorder='little')
8888

89-
def write(self, offset, size, value):
89+
def write(self, offset: int, size: int, value: int):
9090
self.ql.log.debug(f'[{self.label.upper()}] [W] {self.find_field(offset, size):10s} = {hex(value)}')
9191

9292
if offset == self.struct.CR.offset:

qiling/hw/peripheral.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,26 @@
55

66
import ctypes
77

8+
from qiling.core import Qiling
9+
810

911
class QlPeripheral:
1012
class Type(ctypes.Structure):
1113
_fields_ = []
1214

13-
def __init__(self, ql, label):
15+
def __init__(self, ql: Qiling, label: str):
1416
self.ql = ql
1517
self.label = label
1618
self.struct = type(self).Type
1719

1820
def step(self):
1921
pass
2022

21-
def read(self, offset, size) -> int:
23+
def read(self, offset: int, size: int) -> int:
2224
self.ql.log.debug(f'[{self.label.upper()}] [R] {self.find_field(offset, size):10s}')
2325
return 0
2426

25-
def write(self, offset, size, value):
27+
def write(self, offset: int, size: int, value: int):
2628
self.ql.log.debug(f'[{self.label.upper()}] [W] {self.find_field(offset, size):10s} = {hex(value)}')
2729

2830
def in_field(self, field, offset, size):

qiling/hw/spi/stm32f4xx_spi.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def __init__(self, ql, label, intn=None):
6464

6565
self.intn = intn
6666

67-
def read(self, offset, size):
67+
def read(self, offset: int, size: int) -> int:
6868
self.ql.log.debug(f'[{self.label.upper()}] [R] {self.find_field(offset, size):10s}')
6969

7070
if self.in_field(self.struct.DR, offset, size):
@@ -76,7 +76,7 @@ def read(self, offset, size):
7676

7777
return data
7878

79-
def write(self, offset, size, value):
79+
def write(self, offset: int, size: int, value: int):
8080
self.ql.log.debug(f'[{self.label.upper()}] [W] {self.find_field(offset, size):10s} = {hex(value)}')
8181

8282
if offset in [self.struct.SR.offset, self.struct.RXCRCR.offset, self.struct.TXCRCR.offset]:

qiling/hw/timer/cm4_systick.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def step(self):
4141
else:
4242
self.systick.VAL -= self.RATIO
4343

44-
def read(self, offset, size):
44+
def read(self, offset: int, size: int) -> int:
4545
self.ql.log.debug(f'[{self.label.upper()}] [R] {self.find_field(offset, size):10s}')
4646

4747
buf = ctypes.create_string_buffer(size)
@@ -51,7 +51,7 @@ def read(self, offset, size):
5151
self.systick.CTRL &= ~SYSTICK_CTRL.COUNTFLAG
5252
return int.from_bytes(buf.raw, byteorder='little')
5353

54-
def write(self, offset, size, value):
54+
def write(self, offset: int, size: int, value: int):
5555
self.ql.log.debug(f'[{self.label.upper()}] [W] {self.find_field(offset, size):10s} = {hex(value)}')
5656

5757
# ignore the reserved bit

0 commit comments

Comments
 (0)