summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2010-01-19 12:13:25 -0500
committerAlex Deucher <alexdeucher@gmail.com>2010-01-19 12:13:25 -0500
commit17bbb4d5c618eff1fde879c6170a45dbd4598329 (patch)
treeb2a4f80c5743282d44fdbf616dc525c0cee0eac8
parent4c28d82eea4a5231b3225302a692e10f81c7cd18 (diff)
ATOM: Upstream parser updates
-rw-r--r--src/AtomBios/CD_Operations.c7
-rw-r--r--src/AtomBios/includes/Decoder.h1
2 files changed, 7 insertions, 1 deletions
diff --git a/src/AtomBios/CD_Operations.c b/src/AtomBios/CD_Operations.c
index 1e48f81..9212ba2 100644
--- a/src/AtomBios/CD_Operations.c
+++ b/src/AtomBios/CD_Operations.c
@@ -296,6 +296,9 @@ VOID PutDataWS(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
case WS_ATTRIBUTES_C:
pParserTempData->AttributesData=(UINT16)pParserTempData->DestData32;
break;
+ case WS_REGPTR_C:
+ pParserTempData->CurrentRegBlock=(UINT16)pParserTempData->DestData32;
+ break;
}
}
@@ -384,6 +387,8 @@ UINT32 GetParametersWS(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
return pParserTempData->CurrentFB_Window;
case WS_ATTRIBUTES_C:
return pParserTempData->AttributesData;
+ case WS_REGPTR_C:
+ return (UINT32)pParserTempData->CurrentRegBlock;
}
return 0;
@@ -493,7 +498,7 @@ VOID ProcessMask(PARSER_TEMP_DATA STACK_BASED * pParserTempData)
pParserTempData->DestData32=GetDestination[pParserTempData->ParametersType.Destination](pParserTempData);
pParserTempData->SourceData32=GetParametersDirect(pParserTempData);
- pParserTempData->Index=GetParametersDirect(pParserTempData);
+ pParserTempData->Index=GetSource[pParserTempData->ParametersType.Source](pParserTempData);
pParserTempData->SourceData32 <<= DestinationAlignmentShift[pParserTempData->CD_Mask.DestAlignment];
pParserTempData->SourceData32 |= ~(AlignmentMask[pParserTempData->CD_Mask.SrcAlignment] << DestinationAlignmentShift[pParserTempData->CD_Mask.DestAlignment]);
pParserTempData->DestData32 &= pParserTempData->SourceData32;
diff --git a/src/AtomBios/includes/Decoder.h b/src/AtomBios/includes/Decoder.h
index 24c25fc..5ce2022 100644
--- a/src/AtomBios/includes/Decoder.h
+++ b/src/AtomBios/includes/Decoder.h
@@ -44,6 +44,7 @@ NEG:27.08.2002 Initiated.
#define WS_AND_MASK_C (WS_OR_MASK_C+1)
#define WS_FB_WINDOW_C (WS_AND_MASK_C+1)
#define WS_ATTRIBUTES_C (WS_FB_WINDOW_C+1)
+#define WS_REGPTR_C (WS_ATTRIBUTES_C+1)
#define PARSER_VERSION_MAJOR 0x00000000
#define PARSER_VERSION_MINOR 0x0000000E
#define PARSER_VERSION (PARSER_VERSION_MAJOR | PARSER_VERSION_MINOR)