VirtualBox

Changeset 71754 in vbox for trunk/src/VBox/Devices


Ignore:
Timestamp:
Apr 9, 2018 1:27:04 AM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
121856
Message:

DevHDA: Alignment fixing.

Location:
trunk/src/VBox/Devices/Audio
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Audio/DevHDACommon.h

    r71736 r71754  
    572572     *  Not part of the actual BDLE registers. */
    573573    HDABDLESTATE State;
    574 } HDABDLE, *PHDABDLE;
     574} HDABDLE;
     575AssertCompileSizeAlignment(HDABDLE, 8);
     576/** Pointer to a buffer descriptor list entry (BDLE). */
     577typedef HDABDLE *PHDABDLE;
    575578
    576579/** @name Object lookup functions.
  • trunk/src/VBox/Devices/Audio/HDAStream.h

    r71736 r71754  
    118118    volatile bool           fRunning;
    119119    /** Unused, padding. */
    120     uint8_t                 Padding0[3];
     120    uint8_t                 Padding0[4];
    121121#ifdef VBOX_WITH_AUDIO_HDA_ASYNC_IO
    122122    /** Asynchronous I/O state members. */
     
    129129    /** Circular buffer (FIFO) for holding DMA'ed data. */
    130130    R3PTRTYPE(PRTCIRCBUF)   pCircBuf;
     131#if HC_ARCH_BITS == 32
     132    RTR3PTR                 Padding1;
     133#endif
    131134    /** Timestamp of the last DMA data transfer. */
    132135    uint64_t                tsTransferLast;
     
    172175    uint16_t                cbDMALeft;
    173176    /** Unused, padding. */
    174     uint8_t                 Padding3;
    175 } HDASTREAMSTATE, *PHDASTREAMSTATE;
     177    uint8_t                 abPadding3[2+4];
     178} HDASTREAMSTATE;
     179AssertCompileSizeAlignment(HDASTREAMSTATE, 8);
     180typedef HDASTREAMSTATE *PHDASTREAMSTATE;
    176181
    177182/**
  • trunk/src/VBox/Devices/Audio/HDAStreamMap.h

    r71736 r71754  
    3232    /** Circular buffer holding for holding audio data for this mapping. */
    3333    R3PTRTYPE(PRTCIRCBUF)             pCircBuf;
    34 } HDASTREAMMAPPING, *PHDASTREAMMAPPING;
     34} HDASTREAMMAPPING;
     35AssertCompileSizeAlignment(HDASTREAMMAPPING, 8);
     36typedef HDASTREAMMAPPING *PHDASTREAMMAPPING;
    3537
    3638/** @name Stream mapping functions.
  • trunk/src/VBox/Devices/Audio/HDAStreamPeriod.h

    r71736 r71754  
    5252typedef struct HDASTREAMPERIOD
    5353{
     54    /** Critical section for serializing access. */
     55    RTCRITSECT              CritSect;
    5456    /** Associated HDA stream descriptor (SD) number. */
    5557    uint8_t                 u8SD;
    5658    /** The period's status flags. */
    5759    uint8_t                 fStatus;
    58     uint8_t                 Padding1[6];
    59     /** Critical section for serializing access. */
    60     RTCRITSECT              CritSect;
    61     uint32_t                Padding2[1];
     60    /** Number of pending interrupts required for this period. */
     61    uint8_t                 cIntPending;
     62    uint8_t                 bPadding0;
    6263    /** Hertz (Hz) rate this period runs with. */
    6364    uint32_t                u32Hz;
     
    7475    /** Number of audio frames already transfered. */
    7576    uint32_t                framesTransferred;
    76     /** Number of pending interrupts required for this period. */
    77     uint8_t                 cIntPending;
    78     uint8_t                 Padding3[7];
    7977#ifdef LOG_ENABLED
    8078    /** Debugging information. */
    8179    HDASTREAMPERIODDBGINFO  Dbg;
    8280#endif
    83 } HDASTREAMPERIOD, *PHDASTREAMPERIOD;
     81} HDASTREAMPERIOD;
     82AssertCompileSizeAlignment(HDASTREAMPERIOD, 8);
     83/** Pointer to a HDA stream's time period keeper. */
     84typedef HDASTREAMPERIOD *PHDASTREAMPERIOD;
    8485
    8586#ifdef IN_RING3
Note: See TracChangeset for help on using the changeset viewer.

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