Author: kerry Date: Tue Jan 11 03:15:57 2011 New Revision: 6248 URL: https://tracker.coreboot.org/trac/coreboot/changeset/6248
Log: change a readable way to fix SB800 CIMX "multi-character constant warning". by using 'Int32FromChar' macro, instead of the ASCII code.
Signed-off-by: Kerry She kerry.she@amd.com Acked-by: Marc Jones marcj303@gmail.com
Modified: trunk/src/southbridge/amd/cimx_wrapper/sb800/Amd.h trunk/src/vendorcode/amd/cimx/sb800/ACPILIB.c trunk/src/vendorcode/amd/cimx/sb800/DISPATCHER.c trunk/src/vendorcode/amd/cimx/sb800/SBCMN.c
Modified: trunk/src/southbridge/amd/cimx_wrapper/sb800/Amd.h ============================================================================== --- trunk/src/southbridge/amd/cimx_wrapper/sb800/Amd.h Fri Jan 7 00:03:46 2011 (r6247) +++ trunk/src/southbridge/amd/cimx_wrapper/sb800/Amd.h Tue Jan 11 03:15:57 2011 (r6248) @@ -49,7 +49,15 @@ #define IOCFC 0xCFC #define IN #define OUT -#define IMAGE_SIGNATURE 'DMA$' + +#ifndef Int16FromChar +#define Int16FromChar(a,b) ((a) << 0 | (b) << 8) +#endif +#ifndef Int32FromChar +#define Int32FromChar(a,b,c,d) ((a) << 0 | (b) << 8 | (c) << 16 | (d) << 24) +#endif + +#define IMAGE_SIGNATURE Int32FromChar ('$', 'A', 'M', 'D')
typedef UINTN AGESA_STATUS;
Modified: trunk/src/vendorcode/amd/cimx/sb800/ACPILIB.c ============================================================================== --- trunk/src/vendorcode/amd/cimx/sb800/ACPILIB.c Fri Jan 7 00:03:46 2011 (r6247) +++ trunk/src/vendorcode/amd/cimx/sb800/ACPILIB.c Tue Jan 11 03:15:57 2011 (r6248) @@ -52,9 +52,7 @@ RsdPtr = (UINT32*) (UINTN)0xe0000; Rsdt = NULL; do { - //if ( *RsdPtr == ' DSR' && *(RsdPtr + 1) == ' RTP' ) { //gcc multi-character character constant warning - if ( *RsdPtr == 0x20445352 && *(RsdPtr + 1) == 0x20525450) { - + if ( *RsdPtr == Int32FromChar('R', 'S', 'D', ' ') && *(RsdPtr + 1) == Int32FromChar('P', 'T', 'R', ' ')) { Rsdt = (UINT32*) (UINTN) ((RSDP*)RsdPtr)->RsdtAddress; break; }
Modified: trunk/src/vendorcode/amd/cimx/sb800/DISPATCHER.c ============================================================================== --- trunk/src/vendorcode/amd/cimx/sb800/DISPATCHER.c Fri Jan 7 00:03:46 2011 (r6247) +++ trunk/src/vendorcode/amd/cimx/sb800/DISPATCHER.c Tue Jan 11 03:15:57 2011 (r6248) @@ -204,8 +204,7 @@ UINT16 Sum; UINT32 i; Sum = 0; - //if ( (*((UINT32*)ImagePtr) == 'DMA$' && ((CIMFILEHEADER*)ImagePtr)->CreatorID == Signature) ) { //gcc multi-character character constant warning - if ( (*((UINT32*)ImagePtr) == 0x444d4124 && ((CIMFILEHEADER*)ImagePtr)->CreatorID == Signature) ) {//'DMA$' + if ( (*((UINT32*)ImagePtr) == Int32FromChar('$', 'A', 'M', 'D') && ((CIMFILEHEADER*)ImagePtr)->CreatorID == Signature) ) { //GetImage Image size TempImagePtr = (UINT16*)ImagePtr; for ( i = 0; i < (((CIMFILEHEADER*)ImagePtr)->ImageSize); i += 2 ) {
Modified: trunk/src/vendorcode/amd/cimx/sb800/SBCMN.c ============================================================================== --- trunk/src/vendorcode/amd/cimx/sb800/SBCMN.c Fri Jan 7 00:03:46 2011 (r6247) +++ trunk/src/vendorcode/amd/cimx/sb800/SBCMN.c Tue Jan 11 03:15:57 2011 (r6248) @@ -769,12 +769,10 @@
} else { if ( ! (pConfig->S3Resume) ) { - //pHpetTable = (DESCRIPTION_HEADER*) ACPI_LocateTable ('TEPH'); //gcc multi-character character constant warning - pHpetTable = (DESCRIPTION_HEADER*) ACPI_LocateTable (0x54455048);//'TEPH' + pHpetTable = (DESCRIPTION_HEADER*) ACPI_LocateTable (Int32FromChar('H', 'P', 'E', 'T')); } if ( pHpetTable != NULL ) { - //pHpetTable->Signature = 'HPET'; - pHpetTable->Signature = 0x48504554; //'HPET' + pHpetTable->Signature = Int32FromChar('T', 'E', 'P', 'H'); } } }