summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKerry She <kerry.she@amd.com>2011-01-11 02:15:57 +0000
committerKerry She <Kerry.She@amd.com>2011-01-11 02:15:57 +0000
commit09e0e9a68b589e1a23758e70dbee32cc4e4a2e5d (patch)
treefbd6f887d0a18b80fa4df8857fd929829be180e5
parent965c43b4db8df752a2db609fef01c7235291c144 (diff)
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> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6248 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--src/southbridge/amd/cimx_wrapper/sb800/Amd.h10
-rw-r--r--src/vendorcode/amd/cimx/sb800/ACPILIB.c4
-rw-r--r--src/vendorcode/amd/cimx/sb800/DISPATCHER.c3
-rw-r--r--src/vendorcode/amd/cimx/sb800/SBCMN.c6
4 files changed, 13 insertions, 10 deletions
diff --git a/src/southbridge/amd/cimx_wrapper/sb800/Amd.h b/src/southbridge/amd/cimx_wrapper/sb800/Amd.h
index ee140d4adf..93a6234059 100644
--- a/src/southbridge/amd/cimx_wrapper/sb800/Amd.h
+++ b/src/southbridge/amd/cimx_wrapper/sb800/Amd.h
@@ -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;
diff --git a/src/vendorcode/amd/cimx/sb800/ACPILIB.c b/src/vendorcode/amd/cimx/sb800/ACPILIB.c
index 3771673257..2544726aa8 100644
--- a/src/vendorcode/amd/cimx/sb800/ACPILIB.c
+++ b/src/vendorcode/amd/cimx/sb800/ACPILIB.c
@@ -52,9 +52,7 @@ ACPI_LocateTable (
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;
}
diff --git a/src/vendorcode/amd/cimx/sb800/DISPATCHER.c b/src/vendorcode/amd/cimx/sb800/DISPATCHER.c
index 5e3f5ca7e7..61c57cafa0 100644
--- a/src/vendorcode/amd/cimx/sb800/DISPATCHER.c
+++ b/src/vendorcode/amd/cimx/sb800/DISPATCHER.c
@@ -204,8 +204,7 @@ VerifyImage (
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 ) {
diff --git a/src/vendorcode/amd/cimx/sb800/SBCMN.c b/src/vendorcode/amd/cimx/sb800/SBCMN.c
index a596036d69..f485169672 100644
--- a/src/vendorcode/amd/cimx/sb800/SBCMN.c
+++ b/src/vendorcode/amd/cimx/sb800/SBCMN.c
@@ -769,12 +769,10 @@ hpetInit (
} 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');
}
}
}