xref: /reactos/boot/freeldr/freeldr/arch/arcemul.c (revision 9c5efed7)
1 /*
2  *  FreeLoader
3  *
4  *  This program is free software; you can redistribute it and/or modify
5  *  it under the terms of the GNU General Public License as published by
6  *  the Free Software Foundation; either version 2 of the License, or
7  *  (at your option) any later version.
8  *
9  *  This program is distributed in the hope that it will be useful,
10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  *  GNU General Public License for more details.
13  *
14  *  You should have received a copy of the GNU General Public License along
15  *  with this program; if not, write to the Free Software Foundation, Inc.,
16  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17  */
18 
19 #include <freeldr.h>
20 
21 MACHVTBL MachVtbl;
22 
23 
24 /* ARC FUNCTIONS **************************************************************/
25 
26 TIMEINFO*
27 ArcGetTime(VOID)
28 {
29     return MachVtbl.GetTime();
30 }
31 
32 ULONG
33 ArcGetRelativeTime(VOID)
34 {
35     TIMEINFO* TimeInfo;
36     ULONG ret;
37 
38     TimeInfo = ArcGetTime();
39     ret = ((TimeInfo->Hour * 24) + TimeInfo->Minute) * 60 + TimeInfo->Second;
40     return ret;
41 }
42 
43 PCONFIGURATION_COMPONENT_DATA
44 MachHwDetect(_In_opt_ PCSTR Options)
45 {
46     return MachVtbl.HwDetect(Options);
47 }
48 
49 VOID MachPrepareForReactOS(VOID)
50 {
51     MachVtbl.PrepareForReactOS();
52 }
53 
54 VOID MachGetExtendedBIOSData(PULONG ExtendedBIOSDataArea, PULONG ExtendedBIOSDataSize)
55 {
56     MachVtbl.GetExtendedBIOSData(ExtendedBIOSDataArea, ExtendedBIOSDataSize);
57 }
58 
59 VOID MachVideoGetFontsFromFirmware(PULONG RomFontPointers)
60 {
61     MachVtbl.VideoGetFontsFromFirmware(RomFontPointers);
62 }
63 
64 ULONG
65 MachGetBootSectorLoadAddress(IN UCHAR DriveNumber)
66 {
67 #if defined(SARCH_PC98)
68     return Pc98GetBootSectorLoadAddress(DriveNumber);
69 #else
70     return 0x7C00;
71 #endif
72 }
73 
74 /* EOF */
75