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:05:42 -0500 |
commit | bd011784c0609f1fd03dcb784744c8f5cdef33da (patch) | |
tree | d1abe7cdb41d2bd39c8c9edf3d9c00e21d73a911 | |
parent | 95d63e408cc88b6934bec84a0b1ef94dfe8bee7b (diff) |
ATOM: Upstream parser updates
-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) |