diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2010-01-19 11:59:38 -0500 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2010-01-19 12:08:17 -0500 |
commit | 712ac98af7cd862e802a8f735318dfb9c6a7ad28 (patch) | |
tree | ff6a70c60d5da89bf0240c0a84f78e549d54cbba /src/AtomBios | |
parent | 664ab901c09872c27d3d2ed76c9a48c10ce274da (diff) |
ATOM: Upstream parser updates
Diffstat (limited to 'src/AtomBios')
-rw-r--r-- | src/AtomBios/CD_Operations.c | 7 | ||||
-rw-r--r-- | src/AtomBios/includes/Decoder.h | 1 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/AtomBios/CD_Operations.c b/src/AtomBios/CD_Operations.c index 6b285604..c1279b8e 100644 --- a/src/AtomBios/CD_Operations.c +++ b/src/AtomBios/CD_Operations.c @@ -300,6 +300,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; } } @@ -390,6 +393,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; @@ -502,7 +507,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 1e143f02..cc533efb 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) |