Resources | developer.brewmp.com Resources | developer.brewmp.com

Developer

resources

Sharing the device bitmap buffer across process protection domains

Sharing the device bitmap buffer across process protection domains

Different applications may run in different process protection domains. Sharing the device bitmap buffer across process protection domains is not as simple as accessing the same memory address. The OS Services memory sharing mechanism is used to map the device bitmap buffer into each application's address space.

The IDisplayDev1 interface helps achieve memory sharing across process protection domains. The DisplayDev1 object running in Brew MP kernel exposes the remotable IDisplayDev1interface, which does the following:

  1. Sets up a remotable memory region attached to the device bitmap buffer that the device bitmap object can map into its own address space.
  2. Provides an IDisplayDev1_UpdateAsync() function that can be called from any process domain to trigger a display update.

The display device object implements the display update. The device bitmap object creates this object in the local process domain. The display device object keeps a reference to IDisplayDev1. It exposes an update function called by the device bitmap to update the display.

Note: Brew MP tries to use the IDisplayDev1 interface first. If it is not available, Brew MP will use IDIBDisplayDev.