Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. /*
  2.  * Restore previously stored scoreboard data after content switching back
  3.  * Copyright © <2010>, Intel Corporation.
  4.  *
  5.  * Permission is hereby granted, free of charge, to any person obtaining a
  6.  * copy of this software and associated documentation files (the
  7.  * "Software"), to deal in the Software without restriction, including
  8.  * without limitation the rights to use, copy, modify, merge, publish,
  9.  * distribute, sub license, and/or sell copies of the Software, and to
  10.  * permit persons to whom the Software is furnished to do so, subject to
  11.  * the following conditions:
  12.  *
  13.  * The above copyright notice and this permission notice (including the
  14.  * next paragraph) shall be included in all copies or substantial portions
  15.  * of the Software.
  16.  *
  17.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  18.  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  19.  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
  20.  * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
  21.  * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
  22.  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
  23.  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  24.  *
  25.  * This file was originally licensed under the following license
  26.  *
  27.  *  Licensed under the Apache License, Version 2.0 (the "License");
  28.  *  you may not use this file except in compliance with the License.
  29.  *  You may obtain a copy of the License at
  30.  *
  31.  *      http://www.apache.org/licenses/LICENSE-2.0
  32.  *
  33.  *  Unless required by applicable law or agreed to in writing, software
  34.  *  distributed under the License is distributed on an "AS IS" BASIS,
  35.  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  36.  *  See the License for the specific language governing permissions and
  37.  *  limitations under the License.
  38.  *
  39.  */
  40. // Module name: scoreboard_restore_AS.asm
  41. //
  42. // Restore previously stored scoreboard data after content switching back
  43. //
  44. //
  45.         // Restore scoreboard data to r4 - r67
  46.         // They are saved in a 2D surface with width of 32 and height of 80.
  47.         // Each row corresponds to one GRF register in the following order
  48.         // r4 - r67     : Scoreboard message
  49.         //
  50.     mov (8)     MSGSRC<1>:ud    r0.0<8;8,1>:ud {NoDDClr}        // Initialize message header payload with r0
  51.  
  52.     mov (2)     MSGSRC.0:ud             0:ud {NoDDClr, NoDDChk}         // Starting r4
  53.     mov (1)     MSGSRC.2:ud             0x0007001f:ud {NoDDChk}         // for 8 registers
  54.     send (8)    CMD_SB(0)<1>    m1      MSGSRC<8;8,1>:ud        DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r4 - r11
  55.  
  56.     mov (8)     m2:ud           MSGSRC<8;8,1>:ud
  57.     mov (1)     m2.1:ud         8:ud
  58.     send (8)    CMD_SB(8)<1>    m2      null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r12 - r19
  59.  
  60.     mov (8)     m3:ud           MSGSRC<8;8,1>:ud
  61.     mov (1)     m3.1:ud         16:ud
  62.     send (8)    CMD_SB(16)<1>   m3      null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r20 - r27
  63.  
  64.     mov (8)     m4:ud           MSGSRC<8;8,1>:ud
  65.     mov (1)     m4.1:ud         24:ud
  66.     send (8)    CMD_SB(24)<1>   m4      null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r28 - r35
  67.  
  68.     mov (8)     m5:ud           MSGSRC<8;8,1>:ud
  69.     mov (1)     m5.1:ud         32:ud
  70.     send (8)    CMD_SB(32)<1>   m5      null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r36 - r43
  71.  
  72.     mov (8)     m6:ud           MSGSRC<8;8,1>:ud
  73.     mov (1)     m6.1:ud         40:ud
  74.     send (8)    CMD_SB(40)<1>   m6      null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r44 - r51
  75.  
  76.     mov (8)     m7:ud           MSGSRC<8;8,1>:ud
  77.     mov (1)     m7.1:ud         48:ud
  78.     send (8)    CMD_SB(48)<1>   m7      null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r52 - r59
  79.  
  80.     mov (8)     m8:ud           MSGSRC<8;8,1>:ud
  81.     mov (1)     m8.1:ud         56:ud
  82.     send (8)    CMD_SB(56)<1>   m8      null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r60 - r67
  83.  
  84. // End of scoreboard_restore_AS
  85.