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