[HAL]: Add INIT_FUNCTION where needed. Will save 860KB later.

svn path=/trunk/; revision=49463
This commit is contained in:
Sir Richard 2010-11-04 01:28:09 +00:00
parent 9bcd5e12e8
commit 9cdff0edae
13 changed files with 53 additions and 3 deletions

View file

@ -152,6 +152,7 @@ HalpSetCmosData(IN ULONG BusNumber,
VOID
NTAPI
INIT_FUNCTION
HalpInitializeCmos(VOID)
{
/* Set default century offset byte */

View file

@ -126,6 +126,7 @@ static DMA_OPERATIONS HalpDmaOperations = {
#ifndef _MINIHAL_
VOID
INIT_FUNCTION
HalpInitDma(VOID)
{
/*

View file

@ -20,6 +20,7 @@ BOOLEAN HalpPciLockSettings;
VOID
NTAPI
INIT_FUNCTION
HalpGetParameters(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
{
PCHAR CommandLine;
@ -45,6 +46,7 @@ HalpGetParameters(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
*/
BOOLEAN
NTAPI
INIT_FUNCTION
HalInitSystem(IN ULONG BootPhase,
IN PLOADER_PARAMETER_BLOCK LoaderBlock)
{

Binary file not shown.

View file

@ -600,6 +600,7 @@ HalpGetISAFixedPCIIrq(IN PBUS_HANDLER BusHandler,
NTSTATUS
NTAPI
INIT_FUNCTION
HalpSetupPciDeviceForDebugging(IN PVOID LoaderBlock,
IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice)
{
@ -609,6 +610,7 @@ HalpSetupPciDeviceForDebugging(IN PVOID LoaderBlock,
NTSTATUS
NTAPI
INIT_FUNCTION
HalpReleasePciDeviceForDebugging(IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice)
{
DPRINT1("Unimplemented!\n");
@ -617,6 +619,7 @@ HalpReleasePciDeviceForDebugging(IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice)
VOID
NTAPI
INIT_FUNCTION
HalpRegisterPciDebuggingDeviceInfo(VOID)
{
BOOLEAN Found = FALSE;
@ -853,6 +856,7 @@ HaliPciInterfaceReadConfig(IN PBUS_HANDLER RootBusHandler,
PPCI_REGISTRY_INFO_INTERNAL
NTAPI
INIT_FUNCTION
HalpQueryPciRegistryInfo(VOID)
{
#ifndef _MINIHAL_
@ -1085,6 +1089,7 @@ HalpQueryPciRegistryInfo(VOID)
VOID
NTAPI
INIT_FUNCTION
HalpInitializePciStubs(VOID)
{
PPCI_REGISTRY_INFO_INTERNAL PciRegistryInfo;

View file

@ -15,7 +15,7 @@
/* GLOBALS *******************************************************************/
#ifndef _MINIHAL_
CHAR ClassTable[3922] =
INIT_FUNCTION CHAR ClassTable[3922] =
{
0x43, 0x20, 0x30, 0x30, 0x20, 0x20, 0x55, 0x6E, 0x63, 0x6C, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69,
0x65, 0x64, 0x20, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x0D, 0x0A, 0x09, 0x30, 0x30, 0x20, 0x20,
@ -265,7 +265,7 @@ CHAR ClassTable[3922] =
0x72, 0x00,
};
CHAR VendorTable[642355] =
INIT_FUNCTION CHAR VendorTable[642355] =
{
0x30, 0x30, 0x30, 0x30, 0x20, 0x20, 0x47, 0x61, 0x6D, 0x6D, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68,
0x78, 0x2C, 0x20, 0x49, 0x6E, 0x63, 0x2E, 0x20, 0x28, 0x6F, 0x72, 0x20, 0x6D, 0x69, 0x73, 0x73,

View file

@ -65,6 +65,7 @@ HalpAllocateBusHandler(IN INTERFACE_TYPE InterfaceType,
VOID
NTAPI
INIT_FUNCTION
HalpRegisterInternalBusHandlers(VOID)
{
PBUS_HANDLER Bus;
@ -139,6 +140,7 @@ HalpRegisterInternalBusHandlers(VOID)
#ifndef _MINIHAL_
NTSTATUS
NTAPI
INIT_FUNCTION
HalpMarkChipsetDecode(BOOLEAN OverrideEnable)
{
NTSTATUS Status;
@ -186,6 +188,7 @@ HalpMarkChipsetDecode(BOOLEAN OverrideEnable)
PBUS_HANDLER
NTAPI
INIT_FUNCTION
HalpAllocateAndInitPciBusHandler(IN ULONG PciType,
IN ULONG BusNo,
IN BOOLEAN TestAllocation)
@ -270,6 +273,7 @@ HalpAllocateAndInitPciBusHandler(IN ULONG PciType,
BOOLEAN
NTAPI
INIT_FUNCTION
HalpIsValidPCIDevice(IN PBUS_HANDLER BusHandler,
IN PCI_SLOT_NUMBER Slot)
{
@ -331,6 +335,7 @@ static BOOLEAN WarningsGiven[5];
NTSTATUS
NTAPI
INIT_FUNCTION
HalpGetChipHacks(IN USHORT VendorId,
IN USHORT DeviceId,
IN UCHAR RevisionId,
@ -394,6 +399,7 @@ HalpGetChipHacks(IN USHORT VendorId,
BOOLEAN
NTAPI
INIT_FUNCTION
HalpIsRecognizedCard(IN PPCI_REGISTRY_INFO_INTERNAL PciRegistryInfo,
IN PPCI_COMMON_CONFIG PciData,
IN ULONG Flags)
@ -474,6 +480,7 @@ HalpIsRecognizedCard(IN PPCI_REGISTRY_INFO_INTERNAL PciRegistryInfo,
BOOLEAN
NTAPI
INIT_FUNCTION
HalpIsIdeDevice(IN PPCI_COMMON_CONFIG PciData)
{
/* Simple test first */
@ -526,6 +533,7 @@ HalpIsIdeDevice(IN PPCI_COMMON_CONFIG PciData)
BOOLEAN
NTAPI
INIT_FUNCTION
HalpIsBridgeDevice(IN PPCI_COMMON_CONFIG PciData)
{
/* Either this is a PCI-to-PCI Bridge, or a CardBUS Bridge */
@ -539,6 +547,7 @@ HalpIsBridgeDevice(IN PPCI_COMMON_CONFIG PciData)
BOOLEAN
NTAPI
INIT_FUNCTION
HalpGetPciBridgeConfig(IN ULONG PciType,
IN PUCHAR BusCount)
{
@ -591,6 +600,7 @@ HalpGetPciBridgeConfig(IN ULONG PciType,
VOID
NTAPI
INIT_FUNCTION
HalpFixupPciSupportedRanges(IN ULONG BusCount)
{
ULONG i;
@ -653,6 +663,7 @@ HalpFixupPciSupportedRanges(IN ULONG BusCount)
VOID
NTAPI
INIT_FUNCTION
ShowSize(ULONG x)
{
if (!x) return;
@ -678,6 +689,7 @@ ShowSize(ULONG x)
VOID
NTAPI
INIT_FUNCTION
HalpDebugPciDumpBus(IN ULONG i,
IN ULONG j,
IN ULONG k,
@ -829,6 +841,7 @@ HalpDebugPciDumpBus(IN ULONG i,
VOID
NTAPI
INIT_FUNCTION
HalpInitializePciBus(VOID)
{
#ifndef _MINIHAL_
@ -1093,6 +1106,7 @@ HalpInitializePciBus(VOID)
VOID
NTAPI
INIT_FUNCTION
HalpInitBusHandlers(VOID)
{
/* Register the HAL Bus Handler support */
@ -1101,6 +1115,7 @@ HalpInitBusHandlers(VOID)
VOID
NTAPI
INIT_FUNCTION
HalpRegisterKdSupportFunctions(VOID)
{
/* Register PCI Device Functions */

View file

@ -23,6 +23,7 @@ PWCHAR HalName = L"PC Compatible Eisa/Isa HAL";
NTSTATUS
NTAPI
INIT_FUNCTION
HalpSetupAcpiPhase0(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
{
/* There is no ACPI on these HALs */
@ -31,6 +32,7 @@ HalpSetupAcpiPhase0(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
VOID
NTAPI
INIT_FUNCTION
HalpBuildAddressMap(VOID)
{
/* FIXME: Inherit ROM blocks from the registry */
@ -42,6 +44,7 @@ HalpBuildAddressMap(VOID)
BOOLEAN
NTAPI
INIT_FUNCTION
HalpGetDebugPortTable(VOID)
{
/* No ACPI */
@ -50,6 +53,7 @@ HalpGetDebugPortTable(VOID)
ULONG
NTAPI
INIT_FUNCTION
HalpIs16BitPortDecodeSupported(VOID)
{
/* Only EISA systems support this */
@ -58,9 +62,11 @@ HalpIs16BitPortDecodeSupported(VOID)
NTSTATUS
NTAPI
INIT_FUNCTION
HaliInitPnpDriver(VOID)
{
/* On PC-AT, this will interface with the PCI driver */
//HalpDebugPciBus();
return STATUS_SUCCESS;
}
@ -69,6 +75,7 @@ HaliInitPnpDriver(VOID)
*/
VOID
NTAPI
INIT_FUNCTION
HalReportResourceUsage(VOID)
{
INTERFACE_TYPE InterfaceType;

View file

@ -25,7 +25,6 @@ PVOID HalpHeapStart = MM_HAL_HEAP_START;
/* PRIVATE FUNCTIONS *********************************************************/
ULONG
NTAPI
HalpAllocPhysicalMemory(IN PLOADER_PARAMETER_BLOCK LoaderBlock,

View file

@ -24,6 +24,7 @@ CHAR HalpSerialNumber[31];
#ifndef _MINIHAL_
VOID
NTAPI
INIT_FUNCTION
HalpReportSerialNumber(VOID)
{
NTSTATUS Status;
@ -54,6 +55,7 @@ HalpReportSerialNumber(VOID)
NTSTATUS
NTAPI
INIT_FUNCTION
HalpMarkAcpiHal(VOID)
{
NTSTATUS Status;

View file

@ -44,6 +44,7 @@ LARGE_INTEGER HalpRolloverTable[15] =
VOID
NTAPI
INIT_FUNCTION
HalpInitializeClock(VOID)
{
PKPRCB Prcb = KeGetCurrentPrcb();

View file

@ -63,6 +63,7 @@ ADDRESS_USAGE HalpDefaultIoSpace =
#ifndef _MINIHAL_
VOID
NTAPI
INIT_FUNCTION
HalpGetResourceSortValue(IN PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor,
OUT PULONG Scale,
OUT PLARGE_INTEGER Value)
@ -102,6 +103,7 @@ HalpGetResourceSortValue(IN PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor,
VOID
NTAPI
INIT_FUNCTION
HalpBuildPartialFromIdt(IN ULONG Entry,
IN PCM_PARTIAL_RESOURCE_DESCRIPTOR RawDescriptor,
IN PCM_PARTIAL_RESOURCE_DESCRIPTOR TranslatedDescriptor)
@ -139,6 +141,7 @@ HalpBuildPartialFromIdt(IN ULONG Entry,
VOID
NTAPI
INIT_FUNCTION
HalpBuildPartialFromAddress(IN INTERFACE_TYPE Interface,
IN PADDRESS_USAGE CurrentAddress,
IN ULONG Element,
@ -206,6 +209,7 @@ HalpBuildPartialFromAddress(IN INTERFACE_TYPE Interface,
VOID
NTAPI
INIT_FUNCTION
HalpReportResourceUsage(IN PUNICODE_STRING HalName,
IN INTERFACE_TYPE InterfaceType)
{
@ -484,6 +488,7 @@ HalpReportResourceUsage(IN PUNICODE_STRING HalName,
VOID
NTAPI
INIT_FUNCTION
HalpRegisterVector(IN UCHAR Flags,
IN ULONG BusVector,
IN ULONG SystemVector,
@ -500,6 +505,7 @@ HalpRegisterVector(IN UCHAR Flags,
#ifndef _MINIHAL_
VOID
NTAPI
INIT_FUNCTION
HalpEnableInterruptHandler(IN UCHAR Flags,
IN ULONG BusVector,
IN ULONG SystemVector,
@ -522,6 +528,7 @@ HalpEnableInterruptHandler(IN UCHAR Flags,
VOID
NTAPI
INIT_FUNCTION
HalpGetNMICrashFlag(VOID)
{
UNICODE_STRING ValueName;

View file

@ -4,6 +4,16 @@
#pragma once
#define PLACE_IN_SECTION(s) __attribute__((section (s)))
#ifdef __GNUC__
#define INIT_FUNCTION PLACE_IN_SECTION("init")
#define PAGE_LOCKED_FUNCTION PLACE_IN_SECTION("pagelk")
#define PAGE_UNLOCKED_FUNCTION PLACE_IN_SECTION("pagepo")
#else
#define INIT_FUNCTION
#define PAGE_LOCKED_FUNCTION
#define PAGE_UNLOCKED_FUNCTION
#endif
#ifdef _MSC_VER
#define REGISTERCALL FASTCALL