diff --git a/reactos/boot/freeldr/freeldr/arch/i386/i386vid.c b/reactos/boot/freeldr/freeldr/arch/i386/i386vid.c index 15ef3e6b450..a5a61cb7709 100644 --- a/reactos/boot/freeldr/freeldr/arch/i386/i386vid.c +++ b/reactos/boot/freeldr/freeldr/arch/i386/i386vid.c @@ -22,12 +22,7 @@ #define NDEBUG #include -/* non-standard specifier from windef.h -- please deprecate */ -#undef PACKED -#ifdef __GNUC__ -#define PACKED __attribute__((packed)) -#endif - +#include typedef struct { UCHAR Signature[4]; // (ret) signature ("VESA") @@ -55,7 +50,8 @@ typedef struct // accelerated video modes (list of words terminated with FFFFh) UCHAR Reserved[216]; // reserved for VBE implementation UCHAR ScratchPad[256]; // OEM scratchpad (for OEM strings, etc.) -} PACKED VESA_SVGA_INFO, *PVESA_SVGA_INFO; +} VESA_SVGA_INFO, *PVESA_SVGA_INFO; +#include // Bitfields for VESA capabilities: // diff --git a/reactos/boot/freeldr/freeldr/arch/i386/pcdisk.c b/reactos/boot/freeldr/freeldr/arch/i386/pcdisk.c index 1a2d5b9cd0a..23167831577 100644 --- a/reactos/boot/freeldr/freeldr/arch/i386/pcdisk.c +++ b/reactos/boot/freeldr/freeldr/arch/i386/pcdisk.c @@ -22,12 +22,7 @@ #define NDEBUG #include -/* non-standard specifier from windef.h -- please deprecate */ -#undef PACKED -#ifdef __GNUC__ -#define PACKED __attribute__((packed)) -#endif - +#include typedef struct { UCHAR PacketSize; // 00h - Size of packet (10h or 18h) @@ -40,7 +35,8 @@ typedef struct // used if DWORD at 04h is FFFFh:FFFFh // Commented since some earlier BIOSes refuse to work with // such extended structure -} PACKED I386_DISK_ADDRESS_PACKET, *PI386_DISK_ADDRESS_PACKET; +} I386_DISK_ADDRESS_PACKET, *PI386_DISK_ADDRESS_PACKET; +#include ///////////////////////////////////////////////////////////////////////////////////////////// // FUNCTIONS diff --git a/reactos/boot/freeldr/freeldr/arch/i386/pcvideo.c b/reactos/boot/freeldr/freeldr/arch/i386/pcvideo.c index b17d6ee98c9..6e04ea62261 100644 --- a/reactos/boot/freeldr/freeldr/arch/i386/pcvideo.c +++ b/reactos/boot/freeldr/freeldr/arch/i386/pcvideo.c @@ -22,12 +22,6 @@ #define NDEBUG #include -/* non-standard specifier from windef.h -- please deprecate */ -#undef PACKED -#ifdef __GNUC__ -#define PACKED __attribute__((packed)) -#endif - #define VIDEOPORT_PALETTE_READ 0x03C7 #define VIDEOPORT_PALETTE_WRITE 0x03C8 #define VIDEOPORT_PALETTE_DATA 0x03C9 @@ -57,6 +51,7 @@ #define VERTRES_350_SCANLINES 0x01 #define VERTRES_400_SCANLINES 0x02 +#include typedef struct { USHORT ModeAttributes; /* mode attributes (see #00080) */ @@ -110,7 +105,8 @@ typedef struct UCHAR LinearReservedMaskPosition; /* linear modes:Bit position of reserved mask LSB */ ULONG MaximumPixelClock; /* maximum pixel clock for graphics video mode, in Hz */ UCHAR Reserved2[190]; /* 190 BYTEs reserved (0) */ -} PACKED SVGA_MODE_INFORMATION, *PSVGA_MODE_INFORMATION; +} SVGA_MODE_INFORMATION, *PSVGA_MODE_INFORMATION; +#include static ULONG BiosVideoMode; /* Current video mode as known by BIOS */ static ULONG ScreenWidth = 80; /* Screen Width in characters */ diff --git a/reactos/boot/freeldr/freeldr/include/arch/i386/machpc.h b/reactos/boot/freeldr/freeldr/include/arch/i386/machpc.h index 94b42f6870d..ff96277d6b0 100644 --- a/reactos/boot/freeldr/freeldr/include/arch/i386/machpc.h +++ b/reactos/boot/freeldr/freeldr/include/arch/i386/machpc.h @@ -29,8 +29,8 @@ VOID PcMachInit(const char *CmdLine); VOID PcConsPutChar(int Ch); -BOOLEAN PcConsKbHit(); -int PcConsGetCh(); +BOOLEAN PcConsKbHit(VOID); +int PcConsGetCh(VOID); VOID PcVideoClearScreen(UCHAR Attr); VIDEODISPLAYMODE PcVideoSetDisplayMode(char *DisplayMode, BOOLEAN Init); diff --git a/reactos/boot/freeldr/freeldr/include/arch/i386/machxbox.h b/reactos/boot/freeldr/freeldr/include/arch/i386/machxbox.h index a1bc397ff7e..6a565878423 100644 --- a/reactos/boot/freeldr/freeldr/include/arch/i386/machxbox.h +++ b/reactos/boot/freeldr/freeldr/include/arch/i386/machxbox.h @@ -29,8 +29,8 @@ UCHAR XboxFont8x16[256 * 16]; VOID XboxMachInit(const char *CmdLine); VOID XboxConsPutChar(int Ch); -BOOLEAN XboxConsKbHit(); -int XboxConsGetCh(); +BOOLEAN XboxConsKbHit(VOID); +int XboxConsGetCh(VOID); VOID XboxVideoInit(VOID); VOID XboxVideoClearScreen(UCHAR Attr); diff --git a/reactos/boot/freeldr/freeldr/include/freeldr.h b/reactos/boot/freeldr/freeldr/include/freeldr.h index a001b9b1e44..e8e7af4a482 100644 --- a/reactos/boot/freeldr/freeldr/include/freeldr.h +++ b/reactos/boot/freeldr/freeldr/include/freeldr.h @@ -110,12 +110,22 @@ #include /* arch defines */ +#ifdef __GNUC__ #ifdef _X86_ -#define Ke386EraseFlags(x) __asm__ __volatile__("pushl $0 ; popfl\n") +#define Ke386EraseFlags() __asm__ __volatile__("pushl $0 ; popfl\n") #endif #ifdef _M_AMD64 -#define KeAmd64EraseFlags(x) __asm__ __volatile__("pushq $0 ; popfq\n") +#define KeAmd64EraseFlags() __asm__ __volatile__("pushq $0 ; popfq\n") +#endif +#else +#ifdef _X86_ +#define Ke386EraseFlags() __asm push 0; __asm popf; +#endif + +#ifdef _M_AMD64 +#error FIXME +#endif #endif VOID BootMain(LPSTR CmdLine); diff --git a/reactos/boot/freeldr/freeldr/machine.c b/reactos/boot/freeldr/freeldr/machine.c index 5d0eb25bfeb..2bdc6051de7 100644 --- a/reactos/boot/freeldr/freeldr/machine.c +++ b/reactos/boot/freeldr/freeldr/machine.c @@ -83,7 +83,7 @@ MachVideoSetDisplayMode(char *DisplayMode, BOOLEAN Init) VOID MachVideoGetDisplaySize(PULONG Width, PULONG Height, PULONG Depth) { - return MachVtbl.VideoGetDisplaySize(Width, Height, Depth); + MachVtbl.VideoGetDisplaySize(Width, Height, Depth); } ULONG @@ -95,7 +95,7 @@ MachVideoGetBufferSize(VOID) VOID MachVideoSetTextCursorPosition(ULONG X, ULONG Y) { - return MachVtbl.VideoSetTextCursorPosition(X, Y); + MachVtbl.VideoSetTextCursorPosition(X, Y); } VOID @@ -125,13 +125,13 @@ MachVideoIsPaletteFixed(VOID) VOID MachVideoSetPaletteColor(UCHAR Color, UCHAR Red, UCHAR Green, UCHAR Blue) { - return MachVtbl.VideoSetPaletteColor(Color, Red, Green, Blue); + MachVtbl.VideoSetPaletteColor(Color, Red, Green, Blue); } VOID MachVideoGetPaletteColor(UCHAR Color, UCHAR *Red, UCHAR *Green, UCHAR *Blue) { - return MachVtbl.VideoGetPaletteColor(Color, Red, Green, Blue); + MachVtbl.VideoGetPaletteColor(Color, Red, Green, Blue); } VOID diff --git a/reactos/boot/freeldr/freeldr/reactos/binhive.c b/reactos/boot/freeldr/freeldr/reactos/binhive.c index 3270bd3b93a..40c9277e325 100644 --- a/reactos/boot/freeldr/freeldr/reactos/binhive.c +++ b/reactos/boot/freeldr/freeldr/reactos/binhive.c @@ -40,7 +40,7 @@ static VOID NTAPI CmpFree (PVOID Ptr, IN ULONG Quota) { - return MmHeapFree(Ptr); + MmHeapFree(Ptr); } static BOOLEAN diff --git a/reactos/boot/freeldr/freeldr/reactos/setupldr.c b/reactos/boot/freeldr/freeldr/reactos/setupldr.c index 5f6cd33588c..2cea745ca3c 100644 --- a/reactos/boot/freeldr/freeldr/reactos/setupldr.c +++ b/reactos/boot/freeldr/freeldr/reactos/setupldr.c @@ -60,11 +60,12 @@ VOID LoadReactOSSetup(VOID) NULL }; CHAR FileName[256]; - HINF InfHandle; - ULONG ErrorLine; - INFCONTEXT InfContext; + HINF InfHandle; + ULONG ErrorLine; + INFCONTEXT InfContext; PIMAGE_NT_HEADERS NtHeader; PVOID LoadBase; + extern BOOLEAN FrLdrBootType; /* Setup multiboot information structure */ LoaderBlock.CommandLine = reactos_kernel_cmdline; @@ -108,8 +109,7 @@ VOID LoadReactOSSetup(VOID) #endif UiDrawStatusText(""); - extern BOOLEAN FrLdrBootType; - FrLdrBootType = TRUE; + FrLdrBootType = TRUE; /* Detect hardware */ UiDrawStatusText("Detecting hardware..."); diff --git a/reactos/boot/freeldr/freeldr/rtl/libsupp.c b/reactos/boot/freeldr/freeldr/rtl/libsupp.c index fafba51fef9..84acfdc99b0 100644 --- a/reactos/boot/freeldr/freeldr/rtl/libsupp.c +++ b/reactos/boot/freeldr/freeldr/rtl/libsupp.c @@ -42,5 +42,5 @@ NTAPI RtlpFreeMemory(PVOID Mem, ULONG Tag) { - return MmHeapFree(Mem); + MmHeapFree(Mem); } diff --git a/reactos/boot/freeldr/freeldr/ui/tui.c b/reactos/boot/freeldr/freeldr/ui/tui.c index cf69a5d2c16..38081d59d09 100644 --- a/reactos/boot/freeldr/freeldr/ui/tui.c +++ b/reactos/boot/freeldr/freeldr/ui/tui.c @@ -27,9 +27,9 @@ PVOID TextVideoBuffer = NULL; */ int TuiPrintf(const char *format, ... ) { + char c, *ptr, str[16]; va_list ap; va_start(ap,format); - char c, *ptr, str[16]; while ((c = *(format++))) { diff --git a/reactos/boot/freeldr/freeldr/video/fade.c b/reactos/boot/freeldr/freeldr/video/fade.c index 14cedf980e1..3f4bbe048ab 100644 --- a/reactos/boot/freeldr/freeldr/video/fade.c +++ b/reactos/boot/freeldr/freeldr/video/fade.c @@ -38,7 +38,10 @@ VOID VideoFadeIn(PPALETTE_ENTRY Palette, ULONG ColorCount) { ULONG Index; ULONG Color; - PALETTE_ENTRY PaletteColors[ColorCount]; + PPALETTE_ENTRY PaletteColors; + + PaletteColors = MmHeapAlloc(sizeof(PALETTE_ENTRY) * ColorCount); + if (!PaletteColors) return; for (Index=0; Index