VirtualBox

vbox的更動 13141 路徑 trunk/src/bldprogs


忽略:
時間撮記:
2008-10-9 下午04:55:54 (16 年 以前)
作者:
vboxsync
訊息:

unify biossums

位置:
trunk/src/bldprogs
檔案:
修改 1 筆資料
移動 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/bldprogs/Makefile.kmk

    r10187 r13141  
    2323include $(KBUILD_PATH)/subheader.kmk
    2424
    25 BLDPROGS += bin2c
     25BLDPROGS += bin2c biossums
     26
    2627bin2c_TEMPLATE = VBOXBLDPROG
    2728bin2c_SOURCES = bin2c.c
    2829
     30biossums_TEMPLATE = VBOXBLDPROG
     31biossums_SOURCES = biossums.c
     32
    2933include $(KBUILD_PATH)/subfooter.kmk
    3034
  • trunk/src/bldprogs/biossums.c

    r13136 r13141  
    7878  }
    7979  fclose(stream);
     80#ifdef VBOX
     81  modified = 1;
     82  if (bios_len <= 0x1000)             /*  4k */
     83      bios_len = 0x1000;
     84  else if (bios_len <= 0x8000)        /* 32k */
     85      bios_len = 0x8000;
     86  else if (bios_len <= 0xC000)        /* 48k */
     87      bios_len = 0xC000;
     88  else if (bios_len > 0xC000)         /* 64k */
     89     bios_len = MAX_BIOS_DATA;
     90  else if ((bios_len & 0x1FF) != 0)
     91    bios_len = (bios_len + 0x200) & ~0x1FF;
     92  else
     93    modified = 0;
     94#else
    8095  modified = 0;
    8196  if (bios_len < 0x8000) {
     
    86101    modified = 1;
    87102  }
     103#endif
    88104  bios_len_byte = (byte)(bios_len / 512);
    89105  if (bios_len_byte != bios_data[2]) {
     
    145161  } while (cur_val != new_val);
    146162
     163  printf("\n");
     164
    147165  if (modified == 1) {
    148 #ifdef VBOX
    149     size_t new_bios_len;
    150 #endif
    151166    if ((stream = fopen( argv[1], "wb")) == NULL) {
    152167      printf("Error opening %s for writing.\n", argv[1]);
    153168      exit(EXIT_FAILURE);
    154169    }
    155 #ifdef VBOX
    156     if (bios_len <= 0x8000)             /* 32k */
    157         new_bios_len = 0x8000;
    158     else if (bios_len <= 0xC000)        /* 48k */
    159         new_bios_len = 0xC000;
    160     else if (bios_len > 0xC000)         /* 64k */
    161         new_bios_len = MAX_BIOS_DATA;
    162 
    163     if (fwrite(bios_data, 1, new_bios_len, stream) < new_bios_len) {
    164 #else
    165     if (fwrite(bios_data, 1, bios_len, stream) < bios_len) {
    166 #endif
     170    if (fwrite(bios_data, 1, bios_len, stream) < (size_t)bios_len) {
    167171      printf("Error writing %ld KBytes to %s.\n", bios_len / 1024, argv[1]);
    168172      fclose(stream);
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette