Lawrence Tang | 079d581 | 2022-07-12 14:15:32 +0100 | [diff] [blame] | 1 | { |
Lawrence Tang | 079d581 | 2022-07-12 14:15:32 +0100 | [diff] [blame] | 2 | "$schema": "https://json-schema.org/draft/2020-12/schema", |
| 3 | "type": "object", |
John Chung | 044afd0 | 2024-05-03 19:58:02 +0800 | [diff] [blame] | 4 | "required": [ |
| 5 | "revision", |
| 6 | "controlRegister", |
| 7 | "statusRegister", |
| 8 | "eventLogEntry", |
| 9 | "deviceTableEntry", |
| 10 | "pageTableEntry_Level6", |
| 11 | "pageTableEntry_Level5", |
| 12 | "pageTableEntry_Level4", |
| 13 | "pageTableEntry_Level3", |
| 14 | "pageTableEntry_Level2", |
| 15 | "pageTableEntry_Level1" |
| 16 | ], |
Lawrence Tang | 079d581 | 2022-07-12 14:15:32 +0100 | [diff] [blame] | 17 | "additionalProperties": false, |
| 18 | "properties": { |
| 19 | "revision": { |
Andrew Adriance | d9835a1 | 2024-12-05 14:41:42 -0800 | [diff] [blame^] | 20 | "type": "integer", |
| 21 | "description": "Specifies the IOMMU specification revision" |
Lawrence Tang | 079d581 | 2022-07-12 14:15:32 +0100 | [diff] [blame] | 22 | }, |
| 23 | "controlRegister": { |
Andrew Adriance | d9835a1 | 2024-12-05 14:41:42 -0800 | [diff] [blame^] | 24 | "type": "integer", |
| 25 | "description": "IOMMU control register" |
Lawrence Tang | 079d581 | 2022-07-12 14:15:32 +0100 | [diff] [blame] | 26 | }, |
| 27 | "statusRegister": { |
Andrew Adriance | d9835a1 | 2024-12-05 14:41:42 -0800 | [diff] [blame^] | 28 | "type": "integer", |
| 29 | "description": "IOMMU status register" |
Lawrence Tang | 079d581 | 2022-07-12 14:15:32 +0100 | [diff] [blame] | 30 | }, |
| 31 | "eventLogEntry": { |
Andrew Adriance | d9835a1 | 2024-12-05 14:41:42 -0800 | [diff] [blame^] | 32 | "type": "string", |
| 33 | "description": "IOMMU fault related event log entry as defined in the IOMMU specification" |
Lawrence Tang | 079d581 | 2022-07-12 14:15:32 +0100 | [diff] [blame] | 34 | }, |
| 35 | "deviceTableEntry": { |
Andrew Adriance | d9835a1 | 2024-12-05 14:41:42 -0800 | [diff] [blame^] | 36 | "type": "string", |
| 37 | "description": "Value from the device table for a given Requester ID" |
Lawrence Tang | 079d581 | 2022-07-12 14:15:32 +0100 | [diff] [blame] | 38 | }, |
| 39 | "pageTableEntry_Level6": { |
Andrew Adriance | d9835a1 | 2024-12-05 14:41:42 -0800 | [diff] [blame^] | 40 | "type": "integer", |
| 41 | "description": "PTE entry for device virtual address in page level 6." |
Lawrence Tang | 079d581 | 2022-07-12 14:15:32 +0100 | [diff] [blame] | 42 | }, |
| 43 | "pageTableEntry_Level5": { |
Andrew Adriance | d9835a1 | 2024-12-05 14:41:42 -0800 | [diff] [blame^] | 44 | "type": "integer", |
| 45 | "description": "PTE entry for device virtual address in page level 5." |
Lawrence Tang | 079d581 | 2022-07-12 14:15:32 +0100 | [diff] [blame] | 46 | }, |
| 47 | "pageTableEntry_Level4": { |
Andrew Adriance | d9835a1 | 2024-12-05 14:41:42 -0800 | [diff] [blame^] | 48 | "type": "integer", |
| 49 | "description": "PTE entry for device virtual address in page level 4." |
Lawrence Tang | 079d581 | 2022-07-12 14:15:32 +0100 | [diff] [blame] | 50 | }, |
| 51 | "pageTableEntry_Level3": { |
Andrew Adriance | d9835a1 | 2024-12-05 14:41:42 -0800 | [diff] [blame^] | 52 | "type": "integer", |
| 53 | "description": "PTE entry for device virtual address in page level 3." |
Lawrence Tang | 079d581 | 2022-07-12 14:15:32 +0100 | [diff] [blame] | 54 | }, |
| 55 | "pageTableEntry_Level2": { |
Andrew Adriance | d9835a1 | 2024-12-05 14:41:42 -0800 | [diff] [blame^] | 56 | "type": "integer", |
| 57 | "description": "PTE entry for device virtual address in page level 2." |
Lawrence Tang | 079d581 | 2022-07-12 14:15:32 +0100 | [diff] [blame] | 58 | }, |
| 59 | "pageTableEntry_Level1": { |
Andrew Adriance | d9835a1 | 2024-12-05 14:41:42 -0800 | [diff] [blame^] | 60 | "type": "integer", |
| 61 | "description": "PTE entry for device virtual address in page level 1." |
Lawrence Tang | 079d581 | 2022-07-12 14:15:32 +0100 | [diff] [blame] | 62 | } |
| 63 | } |
John Chung | 044afd0 | 2024-05-03 19:58:02 +0800 | [diff] [blame] | 64 | } |