Hi, Sorry for top posting, but trying to summarize this thread here.
I must say I like Gerd's approach, as it unifies code paths mostly, instead of having yet another interface where we do 2 way capabilities negotiation, with all the extra test matrix entries that would entice for full testing, we keep things simple. So we would have: 1) monitor config in rom space 2) QXL_INTERRUPT_CLIENT_MONITORS_CONFIG to tell the guest it is updated 3) Some way to avoid a new monitor config arriving and the guest being busy reading the previous race. 4) The server will always update the monitor config in rom space 5) If the guest has not requested QXL_INTERRUPT_CLIENT_MONITORS_CONFIG and there is an agent the server will send the monitor info to the agent Note an alternative to the handshake suggested is simply adding a crc to the monitor config block. If that fails we hit the the (rare) race and the guest re-reads it. Regards, Hans
