merge trunk head (37902)
[reactos.git] / reactos / hal / halamd64 / generic / irq.S
1 /*
2 * FILE: hal/halx86/generic/irq.S
3 * COPYRIGHT: See COPYING in the top level directory
4 * PURPOSE: Software, System and Hardware IRQ Management
5 * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
6 */
7
8 /* INCLUDES ******************************************************************/
9
10 #include <asm.h>
11 #include <internal/i386/asmmacro.S>
12 .intel_syntax noprefix
13
14 .macro UNIMPLEMENTED func
15 jmp 2f
16 1:
17 .ascii "Sorry, asm function "
18 .ascii func
19 .ascii " is unimplemented!\n\0"
20 2:
21 movabs rcx, offset 1b
22 call _DbgPrint
23 ret
24 .endm
25
26
27
28 /* GLOBALS *******************************************************************/
29
30
31
32 /* FUNCTIONS *****************************************************************/
33
34 .globl _HalpInitPICs
35 .func _HalpInitPICs
36 _HalpInitPICs:
37 UNIMPLEMENTED "HalpInitPICs"
38 .endfunc
39
40 .global _HalEnableInterrupt
41 .func _HalEnableInterrupt
42 _HalEnableInterrupt:
43 UNIMPLEMENTED "HalEnableInterrupt"
44 .endfunc
45
46 .global _HalDisableInterrupt
47 .func _HalDisableInterrupt
48 _HalDisableInterrupt:
49 UNIMPLEMENTED "HalDisableInterrupt"
50 .endfunc
51
52 .global _HalRequestSoftwareInterrupt
53 .func _HalRequestSoftwareInterrupt
54 _HalRequestSoftwareInterrupt:
55 UNIMPLEMENTED "HalRequestSoftwareInterrupt"
56 .endfunc
57
58 .global _HalSendSoftwareInterrupt
59 .func _HalSendSoftwareInterrupt
60 _HalSendSoftwareInterrupt:
61 UNIMPLEMENTED "HalSendSoftwareInterrupt"
62 .endfunc
63
64 .global _HalEndSystemInterrupt
65 .func _HalEndSystemInterrupt
66 _HalEndSystemInterrupt:
67 UNIMPLEMENTED "HalEndSystemInterrupt"
68 .endfunc
69
70
71 .globl _HalClearSoftwareInterrupt
72 .func _HalClearSoftwareInterrupt
73 _HalClearSoftwareInterrupt:
74 UNIMPLEMENTED "HalClearSoftwareInterrupt"
75
76 /* Get IRR mask */
77 mov eax, 1
78 shl eax, cl
79 not eax
80
81 /* Set IRR */
82 // and gs:[KPCR_IRR], eax
83 ret
84 .endfunc
85
86 .globl _HalBeginSystemInterrupt
87 .func _HalBeginSystemInterrupt
88 _HalBeginSystemInterrupt:
89 UNIMPLEMENTED "HalBeginSystemInterrupt"
90 .endfunc
91