2 * Restore previously stored scoreboard data after content switching back
\r
3 * Copyright © <2010>, Intel Corporation.
\r
5 * This program is licensed under the terms and conditions of the
\r
6 * Eclipse Public License (EPL), version 1.0. The full text of the EPL is at
\r
7 * http://www.opensource.org/licenses/eclipse-1.0.php.
\r
10 // Module name: scoreboard_restore_AS.asm
\r
12 // Restore previously stored scoreboard data after content switching back
\r
15 // Restore scoreboard data to r4 - r67
\r
16 // They are saved in a 2D surface with width of 32 and height of 80.
\r
17 // Each row corresponds to one GRF register in the following order
\r
18 // r4 - r67 : Scoreboard message
\r
20 mov (8) MSGSRC<1>:ud r0.0<8;8,1>:ud {NoDDClr} // Initialize message header payload with r0
\r
22 mov (2) MSGSRC.0:ud 0:ud {NoDDClr, NoDDChk} // Starting r4
\r
23 mov (1) MSGSRC.2:ud 0x0007001f:ud {NoDDChk} // for 8 registers
\r
24 send (8) CMD_SB(0)<1> m1 MSGSRC<8;8,1>:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE // Restore r4 - r11
\r
26 mov (8) m2:ud MSGSRC<8;8,1>:ud
\r
27 mov (1) m2.1:ud 8:ud
\r
28 send (8) CMD_SB(8)<1> m2 null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE // Restore r12 - r19
\r
30 mov (8) m3:ud MSGSRC<8;8,1>:ud
\r
31 mov (1) m3.1:ud 16:ud
\r
32 send (8) CMD_SB(16)<1> m3 null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE // Restore r20 - r27
\r
34 mov (8) m4:ud MSGSRC<8;8,1>:ud
\r
35 mov (1) m4.1:ud 24:ud
\r
36 send (8) CMD_SB(24)<1> m4 null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE // Restore r28 - r35
\r
38 mov (8) m5:ud MSGSRC<8;8,1>:ud
\r
39 mov (1) m5.1:ud 32:ud
\r
40 send (8) CMD_SB(32)<1> m5 null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE // Restore r36 - r43
\r
42 mov (8) m6:ud MSGSRC<8;8,1>:ud
\r
43 mov (1) m6.1:ud 40:ud
\r
44 send (8) CMD_SB(40)<1> m6 null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE // Restore r44 - r51
\r
46 mov (8) m7:ud MSGSRC<8;8,1>:ud
\r
47 mov (1) m7.1:ud 48:ud
\r
48 send (8) CMD_SB(48)<1> m7 null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE // Restore r52 - r59
\r
50 mov (8) m8:ud MSGSRC<8;8,1>:ud
\r
51 mov (1) m8.1:ud 56:ud
\r
52 send (8) CMD_SB(56)<1> m8 null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE // Restore r60 - r67
\r
54 // End of scoreboard_restore_AS
\r