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