File tree Expand file tree Collapse file tree 2 files changed +23
-1
lines changed
tests/arch/arm64/arm64_gicv3_its Expand file tree Collapse file tree 2 files changed +23
-1
lines changed Original file line number Diff line number Diff line change
1
+ # The GICv3 & ITS drivers allocation needs are:
2
+ # - LPI prop table: global 1x64K aligned on 64K
3
+ # - LPI pend table: for each redistributor/cpu 1x64K aligned on 64K
4
+ # - Devices table: 128x4K aligned on 4K
5
+ # - Interrupt Collections table: 1x4K aligned on 4K
6
+ #
7
+ # This makes 11x64K to permit all allocations to success.
8
+ #
9
+ # Note, will need 64K HEAP_MEM per CPUs added.
10
+ #
11
+ # This doesn't necessarily include the Interrupt Translation Table, which are
12
+ # 256bytes aligned tables, for reference a 32 ITEs table needs 256bytes.
13
+ #
14
+ # To permit allocating 256 ITT tables of 32 ITEs, 13x64K HEAP_MEM is needed
15
+ CONFIG_HEAP_MEM_POOL_SIZE=851968
Original file line number Diff line number Diff line change @@ -19,12 +19,19 @@ static void lpi_irq_handle(const void *parameter)
19
19
last_lpi_irq_num = i ;
20
20
}
21
21
22
+ #ifdef CONFIG_SOC_MIMX9596_A55
23
+ /* DeviceID is 8bits */
24
+ #define ITS_TEST_DEV (id ) (id & 0xff)
25
+ /* Cover up to 832 LPIs over 26 DevicesIDs and 32 EventIDs per DeviceID */
26
+ #define ITS_TEST_NUM_DEVS 26
27
+ #define ITS_TEST_NUM_ITES 32
28
+ #else
22
29
/* Generate a DeviceID over the whole 16bits */
23
30
#define ITS_TEST_DEV (id ) ((((id + 256) % 16) << 12) | (((id + 256) % 24) << 8) | (id & 0xff))
24
-
25
31
/* Cover up to 8192 LPIs over 256 DevicesIDs and 32 EventIDs per DeviceID */
26
32
#define ITS_TEST_NUM_DEVS 256
27
33
#define ITS_TEST_NUM_ITES 32
34
+ #endif
28
35
29
36
/* Do not test all 8192 irqs, iterate with a prime offset to cover most of the possible event_ids */
30
37
#define ITS_TEST_NEXT 13
You can’t perform that action at this time.
0 commit comments