73ebe989c963baf12c441f342d9acf6e65678771
[reactos.git] / reactos / hal / hal / hal.c
1 /* $Id$
2 *
3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS kernel
5 * FILE: hal/hal.c
6 * PURPOSE: Hardware Abstraction Layer DLL
7 * PROGRAMMER: Casper S. Hornstrup (chorns@users.sourceforge.net)
8 * REVISION HISTORY:
9 * 01-08-2001 CSH Created
10 */
11
12 /* INCLUDES ******************************************************************/
13
14 #include <ddk/ntddk.h>
15 #include <roscfg.h>
16
17 #include <internal/debug.h>
18 #define NDEBUG
19 #include <debug.h>
20
21 typedef struct _LOADER_PARAMETER_BLOCK *PLOADER_PARAMETER_BLOCK;
22 typedef struct _KD_PORT_INFORMATION *PKD_PORT_INFORMATION;
23
24 /* DATA **********************************************************************/
25
26 ULONG KdComPortInUse = 0;
27
28 /* FUNCTIONS *****************************************************************/
29
30 NTSTATUS
31 STDCALL
32 DriverEntry(
33 PDRIVER_OBJECT DriverObject,
34 PUNICODE_STRING RegistryPath)
35 {
36 UNIMPLEMENTED;
37
38 return STATUS_SUCCESS;
39 }
40
41
42 VOID
43 FASTCALL
44 ExAcquireFastMutex(
45 PFAST_MUTEX FastMutex)
46 {
47 UNIMPLEMENTED;
48 }
49
50
51 VOID
52 FASTCALL
53 ExReleaseFastMutex(
54 PFAST_MUTEX FastMutex)
55 {
56 UNIMPLEMENTED;
57 }
58
59
60 BOOLEAN FASTCALL
61 ExTryToAcquireFastMutex(
62 PFAST_MUTEX FastMutex)
63 {
64 UNIMPLEMENTED;
65
66 return TRUE;
67 }
68
69
70 VOID
71 STDCALL
72 HalAcquireDisplayOwnership(
73 PHAL_RESET_DISPLAY_PARAMETERS ResetDisplayParameters)
74 {
75 UNIMPLEMENTED;
76 }
77
78
79 NTSTATUS
80 STDCALL
81 HalAdjustResourceList(
82 PCM_RESOURCE_LIST Resources)
83 {
84 UNIMPLEMENTED;
85
86 return STATUS_SUCCESS;
87 }
88
89
90 BOOLEAN
91 STDCALL
92 HalAllProcessorsStarted(VOID)
93 {
94 UNIMPLEMENTED;
95
96 return TRUE;
97 }
98
99
100 NTSTATUS
101 STDCALL
102 HalAllocateAdapterChannel(
103 PADAPTER_OBJECT AdapterObject,
104 PWAIT_CONTEXT_BLOCK WaitContextBlock,
105 ULONG NumberOfMapRegisters,
106 PDRIVER_CONTROL ExecutionRoutine)
107 {
108 UNIMPLEMENTED;
109
110 return STATUS_SUCCESS;
111 }
112
113
114 PVOID
115 STDCALL
116 HalAllocateCommonBuffer(
117 PADAPTER_OBJECT AdapterObject,
118 ULONG Length,
119 PPHYSICAL_ADDRESS LogicalAddress,
120 BOOLEAN CacheEnabled)
121 {
122 UNIMPLEMENTED;
123
124 return NULL;
125 }
126
127
128 NTSTATUS
129 STDCALL
130 HalAssignSlotResources(
131 PUNICODE_STRING RegistryPath,
132 PUNICODE_STRING DriverClassName,
133 PDRIVER_OBJECT DriverObject,
134 PDEVICE_OBJECT DeviceObject,
135 INTERFACE_TYPE BusType,
136 ULONG BusNumber,
137 ULONG SlotNumber,
138 PCM_RESOURCE_LIST *AllocatedResources)
139 {
140 UNIMPLEMENTED;
141
142 return TRUE;
143 }
144
145
146 BOOLEAN
147 STDCALL
148 HalBeginSystemInterrupt (ULONG Vector,
149 KIRQL Irql,
150 PKIRQL OldIrql)
151 {
152 UNIMPLEMENTED;
153
154 return TRUE;
155 }
156
157
158 VOID
159 STDCALL
160 HalCalibratePerformanceCounter(
161 ULONG Count)
162 {
163 UNIMPLEMENTED;
164 }
165
166
167 BOOLEAN
168 STDCALL
169 HalDisableSystemInterrupt(
170 ULONG Vector,
171 KIRQL Irql)
172 {
173 UNIMPLEMENTED;
174
175 return TRUE;
176 }
177
178
179 VOID
180 STDCALL
181 HalDisplayString(
182 PCH String)
183 {
184 UNIMPLEMENTED;
185 }
186
187
188 BOOLEAN
189 STDCALL
190 HalEnableSystemInterrupt(
191 ULONG Vector,
192 KIRQL Irql,
193 KINTERRUPT_MODE InterruptMode)
194 {
195 UNIMPLEMENTED;
196
197 return TRUE;
198 }
199
200
201 VOID
202 STDCALL
203 HalEndSystemInterrupt(
204 KIRQL Irql,
205 ULONG Unknown2)
206 {
207 UNIMPLEMENTED;
208 }
209
210
211 BOOLEAN
212 STDCALL
213 HalFlushCommonBuffer(
214 ULONG Unknown1,
215 ULONG Unknown2,
216 ULONG Unknown3,
217 ULONG Unknown4,
218 ULONG Unknown5,
219 ULONG Unknown6,
220 ULONG Unknown7,
221 ULONG Unknown8)
222 {
223 UNIMPLEMENTED;
224
225 return TRUE;
226 }
227
228
229 VOID
230 STDCALL
231 HalFreeCommonBuffer(
232 PADAPTER_OBJECT AdapterObject,
233 ULONG Length,
234 PHYSICAL_ADDRESS LogicalAddress,
235 PVOID VirtualAddress,
236 BOOLEAN CacheEnabled)
237 {
238 UNIMPLEMENTED;
239 }
240
241
242 PADAPTER_OBJECT
243 STDCALL
244 HalGetAdapter(
245 PDEVICE_DESCRIPTION DeviceDescription,
246 PULONG NumberOfMapRegisters)
247 {
248 UNIMPLEMENTED;
249
250 return (PADAPTER_OBJECT)NULL;
251 }
252
253
254 ULONG
255 STDCALL
256 HalGetBusData(
257 BUS_DATA_TYPE BusDataType,
258 ULONG BusNumber,
259 ULONG SlotNumber,
260 PVOID Buffer,
261 ULONG Length)
262 {
263 UNIMPLEMENTED;
264
265 return 0;
266 }
267
268
269 ULONG
270 STDCALL
271 HalGetBusDataByOffset(
272 BUS_DATA_TYPE BusDataType,
273 ULONG BusNumber,
274 ULONG SlotNumber,
275 PVOID Buffer,
276 ULONG Offset,
277 ULONG Length)
278 {
279 UNIMPLEMENTED;
280
281 return 0;
282 }
283
284
285 BOOLEAN
286 STDCALL
287 HalGetEnvironmentVariable(
288 PCH Name,
289 PCH Value,
290 USHORT ValueLength)
291 {
292 UNIMPLEMENTED;
293
294 return FALSE;
295 }
296
297
298 ULONG
299 STDCALL
300 HalGetInterruptVector(
301 INTERFACE_TYPE InterfaceType,
302 ULONG BusNumber,
303 ULONG BusInterruptLevel,
304 ULONG BusInterruptVector,
305 PKIRQL Irql,
306 PKAFFINITY Affinity)
307 {
308 UNIMPLEMENTED;
309
310 return 0;
311 }
312
313
314 VOID
315 STDCALL
316 HalHandleNMI(
317 ULONG Unused)
318 {
319 UNIMPLEMENTED;
320 }
321
322
323 BOOLEAN
324 STDCALL
325 HalInitSystem(
326 ULONG BootPhase,
327 PLOADER_PARAMETER_BLOCK LoaderBlock)
328 {
329 UNIMPLEMENTED;
330
331 return TRUE;
332 }
333
334
335 VOID
336 STDCALL
337 HalInitializeProcessor(
338 ULONG ProcessorNumber,
339 PVOID ProcessorStack)
340 {
341 UNIMPLEMENTED;
342 }
343
344
345 BOOLEAN
346 STDCALL
347 HalMakeBeep(
348 ULONG Frequency)
349 {
350 UNIMPLEMENTED;
351
352 return TRUE;
353 }
354
355
356 VOID
357 STDCALL
358 HalProcessorIdle(VOID)
359 {
360 UNIMPLEMENTED;
361 }
362
363
364 BOOLEAN
365 STDCALL
366 HalQueryDisplayOwnership(VOID)
367 {
368 UNIMPLEMENTED;
369
370 return FALSE;
371 }
372
373
374 VOID
375 STDCALL
376 HalQueryDisplayParameters(
377 OUT PULONG DispSizeX,
378 OUT PULONG DispSizeY,
379 OUT PULONG CursorPosX,
380 OUT PULONG CursorPosY)
381 {
382 UNIMPLEMENTED;
383 }
384
385
386 VOID
387 STDCALL
388 HalQueryRealTimeClock(
389 PTIME_FIELDS Time)
390 {
391 UNIMPLEMENTED;
392 }
393
394
395 ULONG
396 STDCALL
397 HalReadDmaCounter(
398 PADAPTER_OBJECT AdapterObject)
399 {
400 UNIMPLEMENTED;
401
402 return 0;
403 }
404
405
406 VOID
407 STDCALL
408 HalReleaseDisplayOwnership(VOID)
409 {
410 UNIMPLEMENTED;
411 }
412
413 VOID
414 STDCALL
415 HalReportResourceUsage(VOID)
416 {
417 UNIMPLEMENTED;
418 }
419
420
421 VOID
422 STDCALL
423 HalRequestIpi(
424 ULONG Unknown)
425 {
426 UNIMPLEMENTED;
427 }
428
429
430 VOID
431 FASTCALL
432 HalRequestSoftwareInterrupt(
433 KIRQL Request)
434 {
435 UNIMPLEMENTED;
436 }
437
438
439 VOID
440 STDCALL
441 HalReturnToFirmware(
442 ULONG Action)
443 {
444 UNIMPLEMENTED;
445 }
446
447
448 ULONG
449 STDCALL
450 HalSetBusData(
451 BUS_DATA_TYPE BusDataType,
452 ULONG BusNumber,
453 ULONG SlotNumber,
454 PVOID Buffer,
455 ULONG Length)
456 {
457 UNIMPLEMENTED;
458
459 return 0;
460 }
461
462
463 ULONG
464 STDCALL
465 HalSetBusDataByOffset(
466 BUS_DATA_TYPE BusDataType,
467 ULONG BusNumber,
468 ULONG SlotNumber,
469 PVOID Buffer,
470 ULONG Offset,
471 ULONG Length)
472 {
473 UNIMPLEMENTED;
474
475 return 0;
476 }
477
478
479 VOID
480 STDCALL
481 HalSetDisplayParameters(
482 ULONG CursorPosX,
483 ULONG CursorPosY)
484 {
485 UNIMPLEMENTED;
486 }
487
488
489 BOOLEAN
490 STDCALL
491 HalSetEnvironmentVariable(
492 PCH Name,
493 PCH Value)
494 {
495 UNIMPLEMENTED;
496
497 return TRUE;
498 }
499
500
501 VOID
502 STDCALL
503 HalSetRealTimeClock(
504 PTIME_FIELDS Time)
505 {
506 UNIMPLEMENTED;
507 }
508
509
510 BOOLEAN
511 STDCALL
512 HalStartNextProcessor(
513 ULONG Unknown1,
514 ULONG Unknown2)
515 {
516 UNIMPLEMENTED;
517
518 return TRUE;
519 }
520
521
522 ULONG
523 FASTCALL
524 HalSystemVectorDispatchEntry(
525 ULONG Unknown1,
526 ULONG Unknown2,
527 ULONG Unknown3)
528 {
529 UNIMPLEMENTED;
530
531 return 0;
532 }
533
534
535 BOOLEAN
536 STDCALL
537 HalTranslateBusAddress(
538 INTERFACE_TYPE InterfaceType,
539 ULONG BusNumber,
540 PHYSICAL_ADDRESS BusAddress,
541 PULONG AddressSpace,
542 PPHYSICAL_ADDRESS TranslatedAddress)
543 {
544 UNIMPLEMENTED;
545
546 return TRUE;
547 }
548
549
550 VOID
551 STDCALL
552 IoAssignDriveLetters(
553 PLOADER_PARAMETER_BLOCK LoaderBlock,
554 PSTRING NtDeviceName,
555 PUCHAR NtSystemPath,
556 PSTRING NtSystemPathString)
557 {
558 UNIMPLEMENTED;
559 }
560
561
562 BOOLEAN
563 STDCALL
564 IoFlushAdapterBuffers(
565 PADAPTER_OBJECT AdapterObject,
566 PMDL Mdl,
567 PVOID MapRegisterBase,
568 PVOID CurrentVa,
569 ULONG Length,
570 BOOLEAN WriteToDevice)
571 {
572 UNIMPLEMENTED;
573
574 return TRUE;
575 }
576
577
578 VOID
579 STDCALL
580 IoFreeAdapterChannel(
581 PADAPTER_OBJECT AdapterObject)
582 {
583 UNIMPLEMENTED;
584 }
585
586
587 VOID
588 STDCALL
589 IoFreeMapRegisters(
590 PADAPTER_OBJECT AdapterObject,
591 PVOID MapRegisterBase,
592 ULONG NumberOfMapRegisters)
593 {
594 UNIMPLEMENTED;
595 }
596
597
598 PHYSICAL_ADDRESS
599 STDCALL
600 IoMapTransfer(
601 PADAPTER_OBJECT AdapterObject,
602 PMDL Mdl,
603 PVOID MapRegisterBase,
604 PVOID CurrentVa,
605 PULONG Length,
606 BOOLEAN WriteToDevice)
607 {
608 PHYSICAL_ADDRESS Address;
609
610 UNIMPLEMENTED;
611
612 Address.QuadPart = 0;
613
614 return Address;
615 }
616
617
618 BOOLEAN
619 STDCALL
620 KdPortGetByte(
621 PUCHAR ByteRecieved)
622 {
623 UNIMPLEMENTED;
624
625 return TRUE;
626 }
627
628
629 BOOLEAN
630 STDCALL
631 KdPortGetByteEx(
632 PKD_PORT_INFORMATION PortInformation,
633 PUCHAR ByteRecieved)
634 {
635 UNIMPLEMENTED;
636
637 return TRUE;
638 }
639
640
641 BOOLEAN
642 STDCALL
643 KdPortInitialize(
644 PKD_PORT_INFORMATION PortInformation,
645 DWORD Unknown1,
646 DWORD Unknown2)
647 {
648 UNIMPLEMENTED;
649
650 return TRUE;
651 }
652
653
654 BOOLEAN
655 STDCALL
656 KdPortInitializeEx(
657 PKD_PORT_INFORMATION PortInformation,
658 DWORD Unknown1,
659 DWORD Unknown2)
660 {
661 UNIMPLEMENTED;
662
663 return TRUE;
664 }
665
666
667 BOOLEAN
668 STDCALL
669 KdPortPollByte(
670 PUCHAR ByteRecieved)
671 {
672 UNIMPLEMENTED;
673
674 return TRUE;
675 }
676
677
678 BOOLEAN
679 STDCALL
680 KdPortPollByteEx(
681 PKD_PORT_INFORMATION PortInformation,
682 PUCHAR ByteRecieved)
683 {
684 UNIMPLEMENTED;
685
686 return TRUE;
687 }
688
689
690 VOID
691 STDCALL
692 KdPortPutByte(
693 UCHAR ByteToSend)
694 {
695 UNIMPLEMENTED;
696 }
697
698
699 VOID
700 STDCALL
701 KdPortPutByteEx(
702 PKD_PORT_INFORMATION PortInformation,
703 UCHAR ByteToSend)
704 {
705 UNIMPLEMENTED;
706 }
707
708
709 VOID
710 STDCALL
711 KdPortRestore(VOID)
712 {
713 UNIMPLEMENTED;
714 }
715
716
717 VOID
718 STDCALL
719 KdPortSave(VOID)
720 {
721 UNIMPLEMENTED;
722 }
723
724
725 BOOLEAN
726 STDCALL
727 KdPortDisableInterrupts()
728 {
729 UNIMPLEMENTED;
730
731 return FALSE;
732 }
733
734
735 BOOLEAN
736 STDCALL
737 KdPortEnableInterrupts()
738 {
739 UNIMPLEMENTED;
740
741 return FALSE;
742 }
743
744 #undef KeAcquireSpinLock
745 VOID
746 STDCALL
747 KeAcquireSpinLock(
748 PKSPIN_LOCK SpinLock,
749 PKIRQL OldIrql)
750 {
751 UNIMPLEMENTED;
752 }
753
754
755 KIRQL
756 FASTCALL
757 KeAcquireSpinLockRaiseToSynch(
758 PKSPIN_LOCK SpinLock)
759 {
760 UNIMPLEMENTED;
761
762 return 0;
763 }
764
765
766 VOID
767 FASTCALL
768 KeAcquireInStackQueuedSpinLock(
769 IN PKSPIN_LOCK SpinLock,
770 IN PKLOCK_QUEUE_HANDLE LockHandle
771 )
772 {
773 UNIMPLEMENTED;
774 }
775
776
777 VOID
778 FASTCALL
779 KeReleaseInStackQueuedSpinLock(
780 IN PKLOCK_QUEUE_HANDLE LockHandle
781 )
782 {
783 UNIMPLEMENTED;
784 }
785
786
787 VOID
788 STDCALL
789 KeFlushWriteBuffer(VOID)
790 {
791 UNIMPLEMENTED;
792 }
793
794 #undef KeGetCurrentIrql
795 KIRQL
796 STDCALL
797 KeGetCurrentIrql(VOID)
798 {
799 UNIMPLEMENTED;
800
801 return (KIRQL)0;
802 }
803
804 #undef KeLowerIrql
805 VOID
806 STDCALL
807 KeLowerIrql(
808 KIRQL NewIrql)
809 {
810 UNIMPLEMENTED;
811 }
812
813
814 LARGE_INTEGER
815 STDCALL
816 KeQueryPerformanceCounter(
817 PLARGE_INTEGER PerformanceFreq)
818 {
819 LARGE_INTEGER Value;
820
821 UNIMPLEMENTED;
822
823 Value.QuadPart = 0;
824
825 return Value;
826 }
827
828 #undef KeRaiseIrql
829 VOID
830 STDCALL
831 KeRaiseIrql(
832 KIRQL NewIrql,
833 PKIRQL OldIrql)
834 {
835 UNIMPLEMENTED;
836 }
837
838
839 KIRQL
840 STDCALL
841 KeRaiseIrqlToDpcLevel(VOID)
842 {
843 UNIMPLEMENTED;
844
845 return (KIRQL)0;
846 }
847
848
849 KIRQL
850 STDCALL
851 KeRaiseIrqlToSynchLevel(VOID)
852 {
853 UNIMPLEMENTED;
854
855 return (KIRQL)0;
856 }
857
858 #undef KeReleaseSpinLock
859 VOID
860 STDCALL
861 KeReleaseSpinLock(
862 PKSPIN_LOCK SpinLock,
863 KIRQL NewIrql)
864 {
865 UNIMPLEMENTED;
866 }
867
868
869 VOID
870 STDCALL
871 KeStallExecutionProcessor(
872 ULONG Microseconds)
873 {
874 UNIMPLEMENTED;
875 }
876
877
878 KIRQL
879 FASTCALL
880 KfAcquireSpinLock(
881 PKSPIN_LOCK SpinLock)
882 {
883 UNIMPLEMENTED;
884
885 return (KIRQL)0;
886 }
887
888
889 VOID
890 FASTCALL
891 KfLowerIrql(
892 KIRQL NewIrql)
893 {
894 UNIMPLEMENTED;
895 }
896
897
898 KIRQL
899 FASTCALL
900 KfRaiseIrql(
901 KIRQL NewIrql)
902 {
903 UNIMPLEMENTED;
904
905 return (KIRQL)0;
906 }
907
908
909 VOID
910 FASTCALL
911 KfReleaseSpinLock(
912 PKSPIN_LOCK SpinLock,
913 KIRQL NewIrql)
914 {
915 UNIMPLEMENTED;
916 }
917
918
919 VOID
920 STDCALL
921 READ_PORT_BUFFER_UCHAR(
922 PUCHAR Port,
923 PUCHAR Buffer,
924 ULONG Count)
925 {
926 UNIMPLEMENTED;
927 }
928
929
930 VOID
931 STDCALL
932 READ_PORT_BUFFER_ULONG(
933 PULONG Port,
934 PULONG Buffer,
935 ULONG Count)
936 {
937 UNIMPLEMENTED;
938 }
939
940
941 VOID
942 STDCALL
943 READ_PORT_BUFFER_USHORT(
944 PUSHORT Port,
945 PUSHORT Buffer,
946 ULONG Count)
947 {
948 UNIMPLEMENTED;
949 }
950
951
952 UCHAR
953 STDCALL
954 READ_PORT_UCHAR(
955 PUCHAR Port)
956 {
957 UNIMPLEMENTED;
958
959 return 0;
960 }
961
962
963 ULONG
964 STDCALL
965 READ_PORT_ULONG(
966 PULONG Port)
967 {
968 UNIMPLEMENTED;
969
970 return 0;
971 }
972
973
974 USHORT
975 STDCALL
976 READ_PORT_USHORT(
977 PUSHORT Port)
978 {
979 UNIMPLEMENTED;
980
981 return 0;
982 }
983
984
985 VOID
986 STDCALL
987 WRITE_PORT_BUFFER_UCHAR(
988 PUCHAR Port,
989 PUCHAR Buffer,
990 ULONG Count)
991 {
992 UNIMPLEMENTED;
993 }
994
995
996 VOID
997 STDCALL
998 WRITE_PORT_BUFFER_USHORT(
999 PUSHORT Port,
1000 PUSHORT Buffer,
1001 ULONG Count)
1002 {
1003 UNIMPLEMENTED;
1004 }
1005
1006
1007 VOID
1008 STDCALL
1009 WRITE_PORT_BUFFER_ULONG(
1010 PULONG Port,
1011 PULONG Buffer,
1012 ULONG Count)
1013 {
1014 UNIMPLEMENTED;
1015 }
1016
1017
1018 VOID
1019 STDCALL
1020 WRITE_PORT_UCHAR(
1021 PUCHAR Port,
1022 UCHAR Value)
1023 {
1024 UNIMPLEMENTED;
1025 }
1026
1027 VOID
1028 STDCALL
1029 WRITE_PORT_ULONG(
1030 PULONG Port,
1031 ULONG Value)
1032 {
1033 UNIMPLEMENTED;
1034 }
1035
1036 VOID
1037 STDCALL
1038 WRITE_PORT_USHORT(
1039 PUSHORT Port,
1040 USHORT Value)
1041 {
1042 UNIMPLEMENTED;
1043 }
1044
1045 /* EOF */