VirtualBox

Changeset 7760 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Apr 5, 2008 2:42:19 PM (17 years ago)
Author:
vboxsync
Message:

Shot at the alignment problem.

Location:
trunk/src/VBox/Devices/Graphics
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Graphics/DevVGA.cpp

    r7759 r7760  
    11#ifdef VBOX
     2/* $Id: $ */
    23/** @file
    3  *
    44 * VBox VGA/VESA device
    55 */
     
    104104#include "Builtins2.h"
    105105
     106/*******************************************************************************
     107*   Global Variables                                                           *
     108*******************************************************************************/
    106109/* "Press F12 to select boot device." bitmap. */
    107 uint8_t LogoF12BootText[] = {
    108   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    109   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    110   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x0F, 0x7C,
    111   0xF8, 0xF0, 0x01, 0xE0, 0x81, 0x9F, 0x3F, 0x00, 0x70, 0xF8, 0x00, 0xE0, 0xC3,
    112   0x07, 0x0F, 0x1F, 0x3E, 0x70, 0x00, 0xF0, 0xE1, 0xC3, 0x07, 0x0E, 0x00, 0x6E,
    113   0x7C, 0x60, 0xE0, 0xE1, 0xC3, 0x07, 0xC6, 0x80, 0x81, 0x31, 0x63, 0xC6, 0x00,
    114   0x30, 0x80, 0x61, 0x0C, 0x00, 0x36, 0x63, 0x00, 0x8C, 0x19, 0x83, 0x61, 0xCC,
    115   0x18, 0x36, 0x00, 0xCC, 0x8C, 0x19, 0xC3, 0x06, 0xC0, 0x8C, 0x31, 0x3C, 0x30,
    116   0x8C, 0x19, 0x83, 0x31, 0x60, 0x60, 0x00, 0x0C, 0x18, 0x00, 0x0C, 0x60, 0x18,
    117   0x00, 0x80, 0xC1, 0x18, 0x00, 0x30, 0x06, 0x60, 0x18, 0x30, 0x80, 0x01, 0x00,
    118   0x33, 0x63, 0xC6, 0x30, 0x00, 0x30, 0x63, 0x80, 0x19, 0x0C, 0x03, 0x06, 0x00,
    119   0x0C, 0x18, 0x18, 0xC0, 0x81, 0x03, 0x00, 0x03, 0x18, 0x0C, 0x00, 0x60, 0x30,
    120   0x06, 0x00, 0x87, 0x01, 0x18, 0x06, 0x0C, 0x60, 0x00, 0xC0, 0xCC, 0x98, 0x31,
    121   0x0C, 0x00, 0xCC, 0x18, 0x30, 0x0C, 0xC3, 0x80, 0x01, 0x00, 0x03, 0x66, 0xFE,
    122   0x18, 0x30, 0x00, 0xC0, 0x02, 0x06, 0x06, 0x00, 0x18, 0x8C, 0x01, 0x60, 0xE0,
    123   0x0F, 0x86, 0x3F, 0x03, 0x18, 0x00, 0x30, 0x33, 0x66, 0x0C, 0x03, 0x00, 0x33,
    124   0xFE, 0x0C, 0xC3, 0x30, 0xE0, 0x0F, 0xC0, 0x87, 0x9B, 0x31, 0x63, 0xC6, 0x00,
    125   0xF0, 0x80, 0x01, 0x03, 0x00, 0x06, 0x63, 0x00, 0x8C, 0x19, 0x83, 0x61, 0xCC,
    126   0x18, 0x06, 0x00, 0x6C, 0x8C, 0x19, 0xC3, 0x00, 0x80, 0x8D, 0x31, 0xC3, 0x30,
    127   0x8C, 0x19, 0x03, 0x30, 0xB3, 0xC3, 0x87, 0x0F, 0x1F, 0x00, 0x2C, 0x60, 0x80,
    128   0x01, 0xE0, 0x87, 0x0F, 0x00, 0x3E, 0x7C, 0x60, 0xF0, 0xE1, 0xE3, 0x07, 0x00,
    129   0x0F, 0x3E, 0x7C, 0xFC, 0x00, 0xC0, 0xC3, 0xC7, 0x30, 0x0E, 0x3E, 0x7C, 0x00,
    130   0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x1E, 0xC0, 0x00, 0x60, 0x00,
    131   0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x60, 0x00, 0xC0, 0x00, 0x00, 0x00,
    132   0x0C, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00,
    133   0x00, 0x00, 0x00, 0xC0, 0x0C, 0x87, 0x31, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
    134   0x00, 0x06, 0x00, 0x00, 0x18, 0x00, 0x30, 0x00, 0x00, 0x00, 0x03, 0x00, 0x30,
    135   0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
    136   0xF8, 0x83, 0xC1, 0x07, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00,
    137   0x00, 0x04, 0x00, 0x0E, 0x00, 0x00, 0x80, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x30,
    138   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    139   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    140   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
     110static const uint8_t g_abLogoF12BootText[] =
     111{
     112    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     113    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     114    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x0F, 0x7C,
     115    0xF8, 0xF0, 0x01, 0xE0, 0x81, 0x9F, 0x3F, 0x00, 0x70, 0xF8, 0x00, 0xE0, 0xC3,
     116    0x07, 0x0F, 0x1F, 0x3E, 0x70, 0x00, 0xF0, 0xE1, 0xC3, 0x07, 0x0E, 0x00, 0x6E,
     117    0x7C, 0x60, 0xE0, 0xE1, 0xC3, 0x07, 0xC6, 0x80, 0x81, 0x31, 0x63, 0xC6, 0x00,
     118    0x30, 0x80, 0x61, 0x0C, 0x00, 0x36, 0x63, 0x00, 0x8C, 0x19, 0x83, 0x61, 0xCC,
     119    0x18, 0x36, 0x00, 0xCC, 0x8C, 0x19, 0xC3, 0x06, 0xC0, 0x8C, 0x31, 0x3C, 0x30,
     120    0x8C, 0x19, 0x83, 0x31, 0x60, 0x60, 0x00, 0x0C, 0x18, 0x00, 0x0C, 0x60, 0x18,
     121    0x00, 0x80, 0xC1, 0x18, 0x00, 0x30, 0x06, 0x60, 0x18, 0x30, 0x80, 0x01, 0x00,
     122    0x33, 0x63, 0xC6, 0x30, 0x00, 0x30, 0x63, 0x80, 0x19, 0x0C, 0x03, 0x06, 0x00,
     123    0x0C, 0x18, 0x18, 0xC0, 0x81, 0x03, 0x00, 0x03, 0x18, 0x0C, 0x00, 0x60, 0x30,
     124    0x06, 0x00, 0x87, 0x01, 0x18, 0x06, 0x0C, 0x60, 0x00, 0xC0, 0xCC, 0x98, 0x31,
     125    0x0C, 0x00, 0xCC, 0x18, 0x30, 0x0C, 0xC3, 0x80, 0x01, 0x00, 0x03, 0x66, 0xFE,
     126    0x18, 0x30, 0x00, 0xC0, 0x02, 0x06, 0x06, 0x00, 0x18, 0x8C, 0x01, 0x60, 0xE0,
     127    0x0F, 0x86, 0x3F, 0x03, 0x18, 0x00, 0x30, 0x33, 0x66, 0x0C, 0x03, 0x00, 0x33,
     128    0xFE, 0x0C, 0xC3, 0x30, 0xE0, 0x0F, 0xC0, 0x87, 0x9B, 0x31, 0x63, 0xC6, 0x00,
     129    0xF0, 0x80, 0x01, 0x03, 0x00, 0x06, 0x63, 0x00, 0x8C, 0x19, 0x83, 0x61, 0xCC,
     130    0x18, 0x06, 0x00, 0x6C, 0x8C, 0x19, 0xC3, 0x00, 0x80, 0x8D, 0x31, 0xC3, 0x30,
     131    0x8C, 0x19, 0x03, 0x30, 0xB3, 0xC3, 0x87, 0x0F, 0x1F, 0x00, 0x2C, 0x60, 0x80,
     132    0x01, 0xE0, 0x87, 0x0F, 0x00, 0x3E, 0x7C, 0x60, 0xF0, 0xE1, 0xE3, 0x07, 0x00,
     133    0x0F, 0x3E, 0x7C, 0xFC, 0x00, 0xC0, 0xC3, 0xC7, 0x30, 0x0E, 0x3E, 0x7C, 0x00,
     134    0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x1E, 0xC0, 0x00, 0x60, 0x00,
     135    0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x60, 0x00, 0xC0, 0x00, 0x00, 0x00,
     136    0x0C, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00,
     137    0x00, 0x00, 0x00, 0xC0, 0x0C, 0x87, 0x31, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
     138    0x00, 0x06, 0x00, 0x00, 0x18, 0x00, 0x30, 0x00, 0x00, 0x00, 0x03, 0x00, 0x30,
     139    0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
     140    0xF8, 0x83, 0xC1, 0x07, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00,
     141    0x00, 0x04, 0x00, 0x0E, 0x00, 0x00, 0x80, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x30,
     142    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     143    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     144    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
     145};
    141146
    142147#ifndef VBOX_DEVICE_STRUCT_TESTCASE
     
    36793684                }
    36803685
    3681                 uint32_t    cx = pData->LogoWidth;
    3682                 uint32_t    cy = pData->LogoHeight;
    3683                 uint8_t    *pu8Src;
    3684                 uint8_t    *pu8TmpPtr;
    3685                 size_t      cbPadBytes  = 0;
    3686                 size_t      cbLineDst   = pData->pDrv->cbScanline;
    3687                 uint8_t    *pu8Dst      = pData->vram_ptrHC;
    3688                 uint32_t    cyLeft      = cy;
    3689                 uint16_t    i;
     3686                uint32_t        cx = pData->LogoWidth;
     3687                uint32_t        cy = pData->LogoHeight;
     3688                const uint8_t  *pu8Src;
     3689                uint8_t        *pu8TmpPtr;
     3690                size_t          cbPadBytes  = 0;
     3691                size_t          cbLineDst   = pData->pDrv->cbScanline;
     3692                uint8_t        *pu8Dst      = pData->vram_ptrHC;
     3693                uint32_t        cyLeft      = cy;
     3694                uint16_t        i;
    36903695
    36913696                pu8Dst += pData->LogoX * 4 + pData->LogoY * cbLineDst;
     
    37163721
    37173722                if (pData->LogoDepth == 1)
    3718                 {
    3719                     pu8Src = (uint8_t *)&LogoF12BootText;
    3720                 }
     3723                    pu8Src = &g_abLogoF12BootText[0];
    37213724                else
    37223725                {
    37233726                    if (pData->BmpImage == LOGO_IMAGE_EXTERNAL)
    3724                         pu8Src = (uint8_t *)&pData->pu8Logo[pData->offLogoData];
     3727                        pu8Src = &pData->pu8Logo[pData->offLogoData];
    37253728                    else
    37263729                        pu8Src = (uint8_t *)&g_abVgaDefBiosLogo[pData->offLogoData];
  • trunk/src/VBox/Devices/Graphics/DevVGA.h

    r7759 r7760  
     1/* $Id$ */
    12/** @file
    2  *
    33 * VBox VGA/VESA device
    44 */
     
    317317    uint16_t                    Padding7[2];    /**< Alignment padding. */
    318318#endif
    319     /** Current logo command. */
    320     uint16_t                    LogoCommand;
    321319    /** Current logo data offset. */
    322320    uint32_t                    offLogoData;
    323     /** Bitmap image to use. */
    324     uint8_t                     BmpImage;
    325321    /** The size of the BIOS logo data. */
    326322    uint32_t                    cbLogo;
    327323    /** The BIOS logo data. */
    328     uint8_t                     *pu8Logo;
     324    R3PTRTYPE(uint8_t *)        pu8Logo;
    329325    /** The name of the logo file. */
    330     char                        *pszLogoFile;
     326    R3PTRTYPE(char *)           pszLogoFile;
     327    /** Current logo command. */
     328    uint16_t                    LogoCommand;
     329    /** Bitmap image to use. */
     330    uint8_t                     BmpImage;
     331    uint8_t                     Padding8;       /**< Alignment padding. */
    331332    /** Logo X. */
    332     uint16_t                     LogoX;
     333    uint16_t                    LogoX;
    333334    /** Logo Y. */
    334     uint16_t                     LogoY;
     335    uint16_t                    LogoY;
    335336    /** Logo width. */
    336     uint16_t                     LogoWidth;
     337    uint16_t                    LogoWidth;
    337338    /** Logo height. */
    338     uint16_t                     LogoHeight;
     339    uint16_t                    LogoHeight;
    339340    /** Logo depth. */
    340     uint16_t                     LogoDepth;
     341    uint16_t                    LogoDepth;
     342    /** Palette size. */
     343    uint16_t                    PalSize;
    341344    /** Palette data. */
    342     uint32_t                     Palette[256];
    343     /** Palette size. */
    344     uint16_t                     PalSize;
    345 
     345    uint32_t                    Palette[256];
    346346#endif /* VBOX */
    347347} VGAState;
     
    428428 * PC Bios logo data structure.
    429429 */
    430 #pragma pack(2) /* pack(2) is important! (seems that bios compiled with pack(2)...) */
     430#pragma pack(2) /* pack(2) is important! (seems that bios compiled with pack(2)...) */ /** @todo r=bird: add 3 uint8_t's before cbLogo and it'll be just fine. */
    431431typedef struct LOGOHDR
    432432{
Note: See TracChangeset for help on using the changeset viewer.

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