au-ts / sddf

A collection of interfaces, libraries and tools for writing device drivers for seL4 that allow accessing devices securely and with low overhead.
Other
17 stars 14 forks source link

Stop serial tx virt from deadlocking when client data region is full #193

Closed Courtney3141 closed 1 month ago

Courtney3141 commented 1 month ago

This PR protects against a potential deadlock that may occur if the serial system is built in colour mode. If a client's data region is full enough that DATA SIZE + colour codes > serial driver data region capacity, the virtualiser will never transmit the data, since it does not split the data.

To fix this, I have added a constraint that if the system is built in colour mode, then the driver's tx data region must be > than all client's data regions.

I will also add this to the documentation once this is finalised.