Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. /*
  2.  * Copyright © <2010>, Intel Corporation.
  3.  *
  4.  * This program is licensed under the terms and conditions of the
  5.  * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
  6.  * http://www.opensource.org/licenses/eclipse-1.0.php.
  7.  *
  8.  */
  9. //----- Open a Message Gateway -----
  10. // The parent thread is the recipient thread
  11.  
  12. #if defined(_DEBUG)
  13.         mov             (1)             EntrySignature:w                        0x1111:w
  14. #endif
  15.  
  16. mov (8)         GatewayPayload<1>:ud            r0.0<8;8,1>:ud                  // Init payload to r0
  17.  
  18. // r50- (16 GRFs) are the GRFs child thread can wtite to.
  19.  
  20. // Reg base is at bit 28:21, Gateway size is at [bit 10:8]
  21. // r6: 6 = 00000110
  22. //000 00000110 0000000000 100 00000000 ==> 0000 0000 1100 0000 0000 0100 0000 0000
  23. mov (1)         RegBase_GatewaySize:ud  0x00C00400:ud   // Reg base + Gateway size (16 GRFs)
  24.  
  25.  
  26. //000 00110010 0000000000 100 00000000 ==> 0000 0110 0100 0000 0000 0100 0000 0000
  27. //mov (1)       RegBase_GatewaySize:ud  0x06400400:ud   // Reg base (r50 = 0x640 byte offset) + Gateway size (16 GRFs)
  28.  
  29. //mov (1)       DispatchID:ub                   r0.20:ub                // Dispatch ID
  30. mov (1)         GatewayPayloadKey:uw    0x1212:uw               // Key=0x1212
  31.  
  32. // Message descriptor
  33. // bit 31       EOD
  34. // 27:24        FFID = 0x0011 for msg gateway
  35. // 23:20        msg length = 1 MRF
  36. // 19:16        Response length = 0
  37. // 14           AckReg = 1
  38. // 1:0          SubFuncID = 00 for OpenGateway
  39. // Message descriptor: 0 000 0011 0001 0000 + 0 1 000000000000 00 ==> 0000 0011 0001 0000 0100 0000 0000 0000
  40. // Send message to gateway: the ack message is put into response GRF r49 ==> Good for debugging
  41. send (8)        GatewayResponse:ud      m7        GatewayPayload<8;8,1>:ud    MSG_GW    OGWMSGDSC
  42.  
  43. //----- End of Open a Message Gateway -----
  44.