Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5361 serge 1
/*
2
 * Scoreboard update function for decoding kernels
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
//
11
// Module name: scoreboard_update.asm
12
//
13
//	Scoreboard update function for decoding kernels
14
//
15
//	This module is used by decoding kernels to send message to scoreboard to update the
16
//	"complete" status, thus the dependency of the MB can be cleared.
17
//
18
//  $Revision: 6 $
19
//  $Date: 10/16/06 5:19p $
20
//
21
    mov (8)		MSGHDRY1<1>:ud	0x00000000:ud				// Initialize message header payload with 0
22
 
23
	// Compose M0.5:ud information
24
	add (1)	MSGHDRY1.10<1>:uw	r0.20:ub	0x0200:uw				// Message length = 1 DWORD
25
	and (1) MSGHDRY1.11<1>:uw	M05_STORE<0;1,0>:uw	SB_MASK*4:uw	// Retrieve stored value and wrap around scoreboard
26
 
27
	or (1)	MSGHDRY1.0<1>:ud	M05_STORE<0;1,0>:uw	0xc0000000:ud	// Set "Completed" bits
28
 
29
#ifndef BSDRESET_ENABLE
30
#ifdef INTER_KERNEL
31
	mov	(1)	gREG_WRITE_COMMIT_Y<1>:ud	gREG_WRITE_COMMIT_Y<0;1,0>:ud		// Make sure Y write is committed
32
	mov	(1)	gREG_WRITE_COMMIT_UV<1>:ud	gREG_WRITE_COMMIT_UV<0;1,0>:ud		// Make sure U/V write is committed
33
#else
34
	mov	(1)	REG_WRITE_COMMIT_Y<1>:ud	REG_WRITE_COMMIT_Y<0;1,0>:ud		// Make sure Y write is committed
35
	mov	(1)	REG_WRITE_COMMIT_UV<1>:ud	REG_WRITE_COMMIT_UV<0;1,0>:ud		// Make sure U/V write is committed
36
#endif	// INTER_KERNEL
37
#endif	// BSDRESET_ENABLE
38
 
39
	send (8)	NULLREG  MSGHDRY1	null:ud    MSG_GW	FWDMSGDSC
40
 
41
// End of scoreboard_update