Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. /*
  2.  * Scoreboard interrupt handler
  3.  * Copyright © <2010>, Intel Corporation.
  4.  *
  5.  * This program is licensed under the terms and conditions of the
  6.  * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
  7.  * http://www.opensource.org/licenses/eclipse-1.0.php.
  8.  *
  9.  */
  10. // Kernel name: scoreboard_sip.asm
  11. //
  12. // scoreboard interrupt handler
  13. //
  14. // Simply send a notification message to scoreboard thread
  15.  
  16.     mov (8)             m0<1>:ud        0x00000000:ud                   // Initialize message header payload with 0
  17. #ifdef  DOUBLE_SB
  18.         mov (1)         m0.5<1>:ud      0x08000200:ud                   // Message length = 1 DWORD, sent to GRF offset 64 registers
  19. #else
  20.         mov (1)         m0.5<1>:ud      0x04000200:ud                   // Message length = 1 DWORD, sent to GRF offset 32 registers
  21. #endif
  22.         send (8)        null<1>:ud  m0  null:ud    0x03108002   // Send notification message to scoreboard kernel
  23.  
  24.         and (1)         cr0.1:ud        cr0.1:ud        0x00800000              // Clear preempt exception bit
  25.         and (1)         cr0.0:ud        cr0.0:ud        0x7fffffff:ud   // Exit SIP routine
  26.         nop                                                                                                     // Required by B-spec
  27.  
  28. .end_code
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.