SiSDetermineROMUsage(SiS_Private *SiS_Pr, PSIS_HW_INFO HwInfo) 
SiSDetermineROMUsage(struct SiS_Private *SiS_Pr) 
SiSDetermineROMUsage(SiS_Private *SiS_Pr, PSIS_HW_INFO HwInfo){   UCHAR  *ROMAddr  = HwInfo->pjVirtualRomBase;   USHORT romptr = 0;   SiS_Pr->SiS_UseROM = FALSE;   SiS_Pr->SiS_ROMNew = FALSE;   if((ROMAddr) && (HwInfo->UseROM)) {      if(HwInfo->jChipType == SIS_300) {         /* 300: We check if the code starts below 0x220 by	  * checking the jmp instruction at the beginning	  * of the BIOS image.	  */	 if((ROMAddr[3] == 0xe9) && ((ROMAddr[5] << 8) | ROMAddr[4]) > 0x21a)	    SiS_Pr->SiS_UseROM = TRUE;      } else if(HwInfo->jChipType < SIS_315H) {	 /* Sony's VAIO BIOS 1.09 follows the standard, so perhaps	  * the others do as well	  */	 SiS_Pr->SiS_UseROM = TRUE;      } else {         /* 315/330 series stick to the standard(s) */	 SiS_Pr->SiS_UseROM = TRUE;	 if((SiS_Pr->SiS_ROMNew = SiSDetermineROMLayout661(SiS_Pr, HwInfo))) {	    SiS_Pr->SiS_EMIOffset = 14;	    SiS_Pr->SiS661LCD2TableSize = 36;	    /* Find out about LCD data table entry size */	    if((romptr = SISGETROMW(0x0102))) {	       if(ROMAddr[romptr + (32 * 16)] == 0xff)	          SiS_Pr->SiS661LCD2TableSize = 32;	       else if(ROMAddr[romptr + (34 * 16)] == 0xff)	          SiS_Pr->SiS661LCD2TableSize = 34;	       else if(ROMAddr[romptr + (36 * 16)] == 0xff)	   /* 0.94 */	          SiS_Pr->SiS661LCD2TableSize = 36;	       else if( (ROMAddr[romptr + (38 * 16)] == 0xff) ||   /* 2.00.00 - 2.02.00 */	       	 	(ROMAddr[0x6F] & 0x01) ) {		   /* 2.03.00+ */		  SiS_Pr->SiS661LCD2TableSize = 38;		  SiS_Pr->SiS_EMIOffset = 16;	       }	    }	 }      }   }}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/544393fe584d333480659a4bed30f5295355df11/init.c/clean/drivers/video/sis/init.c