diff options
Diffstat (limited to 'utils/hwstub/hwstub_protocol.h')
-rw-r--r-- | utils/hwstub/hwstub_protocol.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/utils/hwstub/hwstub_protocol.h b/utils/hwstub/hwstub_protocol.h index 33081d3ca2..1fe982323d 100644 --- a/utils/hwstub/hwstub_protocol.h +++ b/utils/hwstub/hwstub_protocol.h | |||
@@ -26,7 +26,7 @@ | |||
26 | */ | 26 | */ |
27 | 27 | ||
28 | #define HWSTUB_VERSION_MAJOR 4 | 28 | #define HWSTUB_VERSION_MAJOR 4 |
29 | #define HWSTUB_VERSION_MINOR 0 | 29 | #define HWSTUB_VERSION_MINOR 1 |
30 | 30 | ||
31 | #define HWSTUB_VERSION__(maj, min) #maj"."#min | 31 | #define HWSTUB_VERSION__(maj, min) #maj"."#min |
32 | #define HWSTUB_VERSION_(maj, min) HWSTUB_VERSION__(maj, min) | 32 | #define HWSTUB_VERSION_(maj, min) HWSTUB_VERSION__(maj, min) |
@@ -140,6 +140,8 @@ struct hwstub_device_desc_t | |||
140 | #define HWSTUB_READ2 0x42 | 140 | #define HWSTUB_READ2 0x42 |
141 | #define HWSTUB_WRITE 0x43 | 141 | #define HWSTUB_WRITE 0x43 |
142 | #define HWSTUB_EXEC 0x44 | 142 | #define HWSTUB_EXEC 0x44 |
143 | #define HWSTUB_READ2_ATOMIC 0x45 | ||
144 | #define HWSTUB_WRITE_ATOMIC 0x46 | ||
143 | 145 | ||
144 | /** | 146 | /** |
145 | * HWSTUB_GET_LOG: | 147 | * HWSTUB_GET_LOG: |
@@ -147,11 +149,14 @@ struct hwstub_device_desc_t | |||
147 | */ | 149 | */ |
148 | 150 | ||
149 | /** | 151 | /** |
150 | * HWSTUB_READ and HWSTUB_READ2: | 152 | * HWSTUB_READ and HWSTUB_READ2(_ATOMIC): |
151 | * Read a range of memory. The request works in two steps: first the host | 153 | * Read a range of memory. The request works in two steps: first the host |
152 | * sends HWSTUB_READ with the parameters (address, length) and then | 154 | * sends HWSTUB_READ with the parameters (address, length) and then |
153 | * a HWSTUB_READ2 to retrieve the buffer. Both requests must use the same | 155 | * a HWSTUB_READ2 to retrieve the buffer. Both requests must use the same |
154 | * ID in wValue, otherwise the second request will be STALLed. | 156 | * ID in wValue, otherwise the second request will be STALLed. |
157 | * HWSTUB_READ2_ATOMIC behaves the same as HWSTUB_READ2 except that the read | ||
158 | * is guaranteed to be atomic (ie performed as a single memory access) and | ||
159 | * will be STALLed if atomicity can not be ensured. | ||
155 | */ | 160 | */ |
156 | 161 | ||
157 | struct hwstub_read_req_t | 162 | struct hwstub_read_req_t |
@@ -163,6 +168,7 @@ struct hwstub_read_req_t | |||
163 | * HWSTUB_WRITE | 168 | * HWSTUB_WRITE |
164 | * Write a range of memory. The payload starts with the following header, everything | 169 | * Write a range of memory. The payload starts with the following header, everything |
165 | * which follows is data. | 170 | * which follows is data. |
171 | * HWSTUB_WRITE_ATOMIC behaves the same except it is atomic. See HWSTUB_READ2_ATOMIC. | ||
166 | */ | 172 | */ |
167 | struct hwstub_write_req_t | 173 | struct hwstub_write_req_t |
168 | { | 174 | { |