diff -ur aecommon.h aecommon.h --- aecommon.h Tue Oct 25 18:34:41 2005 +++ aecommon.h Tue Oct 25 18:37:03 2005 @@ -183,7 +183,7 @@ #define OSD_PRINT(lvl,fp) TEST_OUTPUT_LEVEL(lvl) {\ AcpiOsPrintf PARAM_LIST(fp);} -void __cdecl +void AeCtrlCHandler ( int Sig); diff -ur aeexec.c aeexec.c --- aeexec.c Tue Oct 25 18:34:41 2005 +++ aeexec.c Tue Oct 25 18:37:03 2005 @@ -195,7 +195,7 @@ * *****************************************************************************/ -void __cdecl +void AeCtrlCHandler ( int Sig) { diff -ur dbcmds.c dbcmds.c --- dbcmds.c Tue Oct 25 18:34:40 2005 +++ dbcmds.c Wed Oct 26 11:46:40 2005 @@ -619,7 +619,9 @@ NumStatements = ACPI_STRTOUL (Statements, NULL, 0); } +#ifdef ACPI_DISASSEMBLER AcpiDmDisassemble (NULL, Op, NumStatements); +#endif } @@ -683,7 +685,9 @@ WalkState->ParseFlags |= ACPI_PARSE_DISASSEMBLE; Status = AcpiPsParseAml (WalkState); +#ifdef ACPI_DISASSEMBLER AcpiDmDisassemble (NULL, Op, 0); +#endif AcpiPsDeleteParseTree (Op); return (AE_OK); } @@ -1734,7 +1738,7 @@ /* Exit if there is no _PRT under this device */ - Status = AcpiGetHandle (Node, METHOD_NAME__PRT, &TempNode); + Status = AcpiGetHandle (Node, METHOD_NAME__PRT, (ACPI_HANDLE *) &TempNode); if (ACPI_FAILURE (Status)) { return (AE_OK); diff -ur dbfileio.c dbfileio.c --- dbfileio.c Tue Oct 25 18:34:40 2005 +++ dbfileio.c Tue Oct 25 18:37:03 2005 @@ -140,6 +140,8 @@ /* Local prototypes */ +#ifdef ACPI_APPLICATION + static ACPI_STATUS AcpiDbCheckTextModeCorruption ( UINT8 *Table, @@ -150,6 +152,7 @@ AeLocalLoadTable ( ACPI_TABLE_HEADER *TablePtr); +#endif /******************************************************************************* * diff -ur dbxface.c dbxface.c --- dbxface.c Tue Oct 25 18:34:41 2005 +++ dbxface.c Wed Oct 26 11:50:30 2005 @@ -373,7 +373,9 @@ /* Now we can display it */ +#ifdef ACPI_DISASSEMBLER AcpiDmDisassemble (WalkState, DisplayOp, ACPI_UINT32_MAX); +#endif if ((Op->Common.AmlOpcode == AML_IF_OP) || (Op->Common.AmlOpcode == AML_WHILE_OP)) @@ -485,9 +487,11 @@ AcpiGbl_DbOutputFlags = ACPI_DB_CONSOLE_OUTPUT; AcpiGbl_DbOpt_tables = FALSE; - AcpiGbl_DbOpt_disasm = FALSE; AcpiGbl_DbOpt_stats = FALSE; +#ifdef ACPI_DISASSEMBLER + AcpiGbl_DbOpt_disasm = FALSE; AcpiGbl_DbOpt_verbose = TRUE; +#endif AcpiGbl_DbOpt_ini_methods = TRUE; AcpiGbl_DbBuffer = AcpiOsAllocate (ACPI_DEBUG_BUFFER_SIZE); @@ -536,11 +540,13 @@ } } +#ifdef ACPI_DISASSEMBLER if (!AcpiGbl_DbOpt_verbose) { AcpiGbl_DbOpt_disasm = TRUE; AcpiGbl_DbOpt_stats = FALSE; } +#endif return (AE_OK); } diff -ur dmopcode.c dmopcode.c --- dmopcode.c Tue Oct 25 18:34:41 2005 +++ dmopcode.c Wed Oct 26 11:54:20 2005 @@ -346,7 +346,7 @@ } else { - AcpiOsPrintf ("%s", (char *) + AcpiOsPrintf ("%s", (char *) (uintptr_t) AcpiGbl_MatchOps[(ACPI_SIZE) Op->Common.Value.Integer]); } } diff -ur hwregs.c hwregs.c --- hwregs.c Tue Oct 25 18:34:41 2005 +++ hwregs.c Wed Oct 26 11:55:08 2005 @@ -236,7 +236,7 @@ Info.Parameters = NULL; Info.ReturnObject = NULL; - SleepStateName = (char *) AcpiGbl_SleepStateNames[SleepState]; + SleepStateName = (char *) (uintptr_t) AcpiGbl_SleepStateNames[SleepState]; Status = AcpiNsEvaluateByName (SleepStateName, &Info); if (ACPI_FAILURE (Status)) diff -ur hwsleep.c hwsleep.c --- hwsleep.c Tue Oct 25 18:34:41 2005 +++ hwsleep.c Wed Oct 26 11:58:09 2005 @@ -320,6 +320,7 @@ ACPI_BIT_REGISTER_INFO *SleepTypeRegInfo; ACPI_BIT_REGISTER_INFO *SleepEnableRegInfo; UINT32 InValue; + UINT32 Retry; ACPI_STATUS Status; @@ -474,6 +475,7 @@ /* Wait until we enter sleep state */ + Retry = 1000; do { Status = AcpiGetRegister (ACPI_BITREG_WAKE_STATUS, &InValue, @@ -481,6 +483,15 @@ if (ACPI_FAILURE (Status)) { return_ACPI_STATUS (Status); + } + + /* + * Some BIOSs don't set WAK_STS at all. Give up waiting after + * 1000 retries if it still isn't set. + */ + if (Retry-- == 0) + { + break; } /* Spin until we wake */ diff -ur osunixxf.c osunixxf.c --- osunixxf.c Tue Oct 25 18:34:41 2005 +++ osunixxf.c Tue Oct 25 18:37:03 2005 @@ -130,6 +130,8 @@ #include #include +#include + #define _COMPONENT ACPI_OS_SERVICES ACPI_MODULE_NAME ("osunixxf") @@ -185,7 +187,7 @@ ACPI_POINTER *Address) { - return (AeLocalGetRootPointer(Flags, Address)); + return (AeLocalGetRootPointer(Flags, (ACPI_PHYSICAL_ADDRESS *) Address)); } diff -ur rsdump.c rsdump.c --- rsdump.c Tue Oct 25 18:34:41 2005 +++ rsdump.c Tue Oct 25 18:37:03 2005 @@ -452,11 +452,11 @@ /* Strings */ case ACPI_RSD_LITERAL: - AcpiRsOutString (Name, (char *) Table->Pointer); + AcpiRsOutString (Name, (char *) (uintptr_t) Table->Pointer); break; case ACPI_RSD_STRING: - AcpiRsOutString (Name, (char *) Target); + AcpiRsOutString (Name, (char *) (uintptr_t) Target); break; /* Data items, 8/16/32/64 bit */ @@ -480,13 +480,13 @@ /* Flags: 1-bit and 2-bit flags supported */ case ACPI_RSD_1BITFLAG: - AcpiRsOutString (Name, (char *) - ((const char **) Table->Pointer)[(*(UINT8 *) Target) & 0x01]); + AcpiRsOutString (Name, (char *) (uintptr_t) + ((const char **) (uintptr_t) Table->Pointer)[(*(UINT8 *) Target) & 0x01]); break; case ACPI_RSD_2BITFLAG: - AcpiRsOutString (Name, (char *) - ((const char **) Table->Pointer)[(*(UINT8 *) Target) & 0x03]); + AcpiRsOutString (Name, (char *) (uintptr_t) + ((const char **) (uintptr_t) Table->Pointer)[(*(UINT8 *) Target) & 0x03]); break; case ACPI_RSD_SHORTLIST: diff -ur utalloc.c utalloc.c --- utalloc.c Tue Oct 25 18:34:41 2005 +++ utalloc.c Tue Oct 25 18:37:03 2005 @@ -123,6 +123,7 @@ /* Local prototypes */ +#ifdef ACPI_DBG_TRACK_ALLOCATIONS static ACPI_DEBUG_MEM_BLOCK * AcpiUtFindAllocation ( void *Allocation); @@ -143,7 +144,6 @@ char *Module, UINT32 Line); -#ifdef ACPI_DBG_TRACK_ALLOCATIONS static ACPI_STATUS AcpiUtCreateList ( char *ListName, diff -ur utdebug.c utdebug.c --- utdebug.c Tue Oct 25 18:34:41 2005 +++ utdebug.c Tue Oct 25 18:37:03 2005 @@ -212,14 +212,14 @@ /* All Function names are longer than 4 chars, check is safe */ - if (*(ACPI_CAST_PTR (UINT32, FunctionName)) == ACPI_PREFIX_MIXED) + if (*((UINT32 *) (uintptr_t) FunctionName) == ACPI_PREFIX_MIXED) { /* This is the case where the original source has not been modified */ return (FunctionName + 4); } - if (*(ACPI_CAST_PTR (UINT32, FunctionName)) == ACPI_PREFIX_LOWER) + if (*((UINT32 *) (uintptr_t) FunctionName) == ACPI_PREFIX_LOWER) { /* This is the case where the source has been 'linuxized' */ diff -ur uteval.c uteval.c --- uteval.c Tue Oct 25 18:34:41 2005 +++ uteval.c Tue Oct 25 18:37:03 2005 @@ -184,7 +184,7 @@ for (i = 0; i < ACPI_NUM_OSI_STRINGS; i++) { if (!ACPI_STRCMP (StringDesc->String.Pointer, - (char *) AcpiGbl_ValidOsiStrings[i])) + (char *) (uintptr_t) AcpiGbl_ValidOsiStrings[i])) { /* This string is supported */ @@ -788,7 +788,7 @@ { Highest[i] = 0xFF; Status = AcpiUtEvaluateObject (DeviceNode, - (char *) AcpiGbl_HighestDstateNames[i], + (char *) (uintptr_t) AcpiGbl_HighestDstateNames[i], ACPI_BTYPE_INTEGER, &ObjDesc); if (ACPI_FAILURE (Status)) { @@ -796,7 +796,7 @@ { ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "%s on Device %4.4s, %s\n", - (char *) AcpiGbl_HighestDstateNames[i], + (char *) (uintptr_t) AcpiGbl_HighestDstateNames[i], AcpiUtGetNodeName (DeviceNode), AcpiFormatException (Status))); diff -ur utglobal.c utglobal.c --- utglobal.c Tue Oct 25 18:34:41 2005 +++ utglobal.c Tue Oct 25 18:37:03 2005 @@ -520,7 +520,7 @@ return ("InvalidSpaceId"); } - return ((char *) AcpiGbl_RegionTypes[SpaceId]); + return ((char *) (uintptr_t) AcpiGbl_RegionTypes[SpaceId]); } @@ -560,7 +560,7 @@ return ("InvalidEventID"); } - return ((char *) AcpiGbl_EventTypes[EventId]); + return ((char *) (uintptr_t) AcpiGbl_EventTypes[EventId]); } @@ -633,10 +633,10 @@ if (Type > ACPI_TYPE_INVALID) { - return ((char *) AcpiGbl_BadType); + return ((char *) (uintptr_t) AcpiGbl_BadType); } - return ((char *) AcpiGbl_NsTypeNames[Type]); + return ((char *) (uintptr_t) AcpiGbl_NsTypeNames[Type]); } @@ -757,10 +757,10 @@ if (ACPI_GET_DESCRIPTOR_TYPE (Object) > ACPI_DESC_TYPE_MAX) { - return ((char *) AcpiGbl_BadType); + return ((char *) (uintptr_t) AcpiGbl_BadType); } - return ((char *) AcpiGbl_DescTypeNames[ACPI_GET_DESCRIPTOR_TYPE (Object)]); + return ((char *) (uintptr_t) AcpiGbl_DescTypeNames[ACPI_GET_DESCRIPTOR_TYPE (Object)]); }