VirtualBox

Changeset 71752 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Apr 9, 2018 12:53:45 AM (7 years ago)
Author:
vboxsync
Message:

DevIchAc97: Alignment fixing.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Audio/DevIchAc97.cpp

    r71751 r71752  
    270270    uint8_t  piv;               /** ro 0, Prefetched index value. */
    271271    uint8_t  cr;                /** rw 0, Control register. */
    272     int      bd_valid;          /** Whether current BDLE is initialized or not. */
     272    int32_t  bd_valid;          /** Whether current BDLE is initialized or not. */
    273273    AC97BDLE bd;                /** Current Buffer Descriptor List Entry (BDLE). */
    274 } AC97BMREGS, *PAC97BMREGS;
     274} AC97BMREGS;
     275AssertCompileSizeAlignment(AC97BMREGS, 8);
     276/** Pointer to the BM registers of an audio stream. */
     277typedef AC97BMREGS *PAC97BMREGS;
    275278
    276279#ifdef VBOX_WITH_AUDIO_AC97_ASYNC_IO
     
    301304typedef struct AC97STREAMSTATE
    302305{
     306    /** Criticial section for this stream. */
     307    RTCRITSECT            CritSect;
    303308    /** Circular buffer (FIFO) for holding DMA'ed data. */
    304309    R3PTRTYPE(PRTCIRCBUF) pCircBuf;
    305     /** Criticial section for this stream. */
    306     RTCRITSECT            CritSect;
     310#if HC_ARCH_BITS == 32
     311    uint32_t              Padding;
     312#endif
    307313    /** The stream's current configuration. */
    308     PDMAUDIOSTREAMCFG     Cfg;
    309     uint32_t              Padding;
     314    PDMAUDIOSTREAMCFG     Cfg; //+96
    310315#ifdef VBOX_WITH_AUDIO_AC97_ASYNC_IO
    311316    /** Asynchronous I/O state members. */
    312317    AC97STREAMSTATEAIO    AIO;
    313318#endif
    314 } AC97STREAMSTATE, *PAC97STREAMSTATE;
     319} AC97STREAMSTATE;
     320AssertCompileSizeAlignment(AC97STREAMSTATE, 8);
     321/** Pointer to internal state of an AC'97 stream. */
     322typedef AC97STREAMSTATE *PAC97STREAMSTATE;
    315323
    316324/**
     
    321329    /** Stream number (SDn). */
    322330    uint8_t         u8SD;
     331    uint8_t         abPadding[7];
    323332    /** Bus master registers of this stream. */
    324333    AC97BMREGS      Regs;
     
    326335    AC97STREAMSTATE State;
    327336} AC97STREAM, *PAC97STREAM;
     337AssertCompileSizeAlignment(AC97STREAM, 8);
     338/** Pointer to an AC'97 stream (registers + state). */
     339typedef AC97STREAM *PAC97STREAM;
    328340
    329341typedef struct AC97STATE *PAC97STATE;
     
    404416    /** Set if R0/RC is enabled. */
    405417    bool                    fRZEnabled;
     418    bool                    afPadding0[3];
    406419    /** Global Control (Bus Master Control Register). */
    407420    uint32_t                glob_cnt;
     
    462475    /** Codec model. */
    463476    uint32_t                uCodecModel;
    464 } AC97STATE, *PAC97STATE;
     477} AC97STATE;
     478AssertCompileMemberAlignment(AC97STATE, StreamLineIn, 8);
     479/** Pointer to a AC'97 state. */
     480typedef AC97STATE *PAC97STATE;
    465481
    466482/**
     
    563579*   Internal Functions                                                                                                           *
    564580*********************************************************************************************************************************/
    565 DECLINLINE(PAC97STREAM)   ichac97GetStreamFromIdx(PAC97STATE pThis, uint32_t uIdx);
     581#ifdef IN_RING3
    566582static int                ichac97StreamCreate(PAC97STATE pThis, PAC97STREAM pStream, uint8_t u8Strm);
    567583static void               ichac97StreamDestroy(PAC97STATE pThis, PAC97STREAM pStream);
     
    578594
    579595static DECLCALLBACK(void) ichac97Reset(PPDMDEVINS pDevIns);
    580 #ifndef VBOX_WITH_AUDIO_AC97_CALLBACKS
     596# ifndef VBOX_WITH_AUDIO_AC97_CALLBACKS
    581597static int                ichac97TimerStart(PAC97STATE pThis);
    582598static int                ichac97TimerMaybeStart(PAC97STATE pThis);
     
    585601static void               ichac97TimerMain(PAC97STATE pThis);
    586602static DECLCALLBACK(void) ichac97Timer(PPDMDEVINS pDevIns, PTMTIMER pTimer, void *pvUser);
    587 #endif
     603# endif
    588604static void               ichac97DoTransfers(PAC97STATE pThis);
    589605
     
    593609static void               ichac97MixerRemoveDrvStreams(PAC97STATE pThis, PAUDMIXSINK pMixSink, PDMAUDIODIR enmDir, PDMAUDIODESTSOURCE dstSrc);
    594610
    595 #ifdef VBOX_WITH_AUDIO_AC97_ASYNC_IO
     611# ifdef VBOX_WITH_AUDIO_AC97_ASYNC_IO
    596612static DECLCALLBACK(int)  ichac97StreamAsyncIOThread(RTTHREAD hThreadSelf, void *pvUser);
    597613static int                ichac97StreamAsyncIOCreate(PAC97STATE pThis, PAC97STREAM pStream);
     
    601617static void               ichac97StreamAsyncIOUnlock(PAC97STREAM pStream);
    602618static void               ichac97StreamAsyncIOEnable(PAC97STREAM pStream, bool fEnable);
    603 #endif
    604 
     619# endif
     620#endif /* IN_RING3 */
    605621
    606622
  • trunk/src/VBox/Devices/Audio/testcase/tstAudioMixBuffer.cpp

    r70878 r71752  
    4242
    4343    /* 44100Hz, 2 Channels, S16 */
    44     PDMAUDIOPCMPROPS config =
    45     {
     44    PDMAUDIOPCMPROPS config = PDMAUDIOPCMPROPS_INITIALIZOR(
    4645        16,                                                                 /* Bits */
    4746        true,                                                               /* Signed */
     
    5049        PDMAUDIOPCMPROPS_MAKE_SHIFT_PARMS(16 /* Bits */, 2 /* Channels */), /* Shift */
    5150        false                                                               /* Swap Endian */
    52     };
     51    );
    5352
    5453    RTTESTI_CHECK(DrvAudioHlpPCMPropsAreValid(&config));
     
    164163
    165164    /* 44100Hz, 2 Channels, S16 */
    166     PDMAUDIOPCMPROPS cfg_p =
    167     {
     165    PDMAUDIOPCMPROPS cfg_p = PDMAUDIOPCMPROPS_INITIALIZOR(
    168166        16,                                                                 /* Bits */
    169167        true,                                                               /* Signed */
     
    172170        PDMAUDIOPCMPROPS_MAKE_SHIFT_PARMS(16 /* Bits */, 2 /* Channels */), /* Shift */
    173171        false                                                               /* Swap Endian */
    174     };
     172    );
    175173
    176174    RTTESTI_CHECK(DrvAudioHlpPCMPropsAreValid(&cfg_p));
     
    180178
    181179    /* 22050Hz, 2 Channels, S16 */
    182     PDMAUDIOPCMPROPS cfg_c1 = /* Upmixing to parent */
    183     {
     180    PDMAUDIOPCMPROPS cfg_c1 = PDMAUDIOPCMPROPS_INITIALIZOR(/* Upmixing to parent */
    184181        16,                                                                 /* Bits */
    185182        true,                                                               /* Signed */
     
    188185        PDMAUDIOPCMPROPS_MAKE_SHIFT_PARMS(16 /* Bits */, 2 /* Channels */), /* Shift */
    189186        false                                                               /* Swap Endian */
    190     };
     187    );
    191188
    192189    RTTESTI_CHECK(DrvAudioHlpPCMPropsAreValid(&cfg_c1));
     
    200197
    201198    /* 48000Hz, 2 Channels, S16 */
    202     PDMAUDIOPCMPROPS cfg_c2 = /* Downmixing to parent */
    203     {
     199    PDMAUDIOPCMPROPS cfg_c2 = PDMAUDIOPCMPROPS_INITIALIZOR(/* Downmixing to parent */
    204200        16,                                                                 /* Bits */
    205201        true,                                                               /* Signed */
     
    208204        PDMAUDIOPCMPROPS_MAKE_SHIFT_PARMS(16 /* Bits */, 2 /* Channels */), /* Shift */
    209205        false                                                               /* Swap Endian */
    210     };
     206    );
    211207
    212208    RTTESTI_CHECK(DrvAudioHlpPCMPropsAreValid(&cfg_c2));
     
    315311
    316312    /* 44100Hz, 1 Channel, U8 */
    317     PDMAUDIOPCMPROPS cfg_p =
    318     {
     313    PDMAUDIOPCMPROPS cfg_p = PDMAUDIOPCMPROPS_INITIALIZOR(
    319314        8,                                                                 /* Bits */
    320315        false,                                                             /* Signed */
     
    323318        PDMAUDIOPCMPROPS_MAKE_SHIFT_PARMS(8 /* Bits */, 1 /* Channels */), /* Shift */
    324319        false                                                              /* Swap Endian */
    325     };
     320    );
    326321
    327322    RTTESTI_CHECK(DrvAudioHlpPCMPropsAreValid(&cfg_p));
     
    339334
    340335    /* 22050Hz, 1 Channel, U8 */
    341     PDMAUDIOPCMPROPS cfg_c =   /* Upmixing to parent */
    342     {
     336    PDMAUDIOPCMPROPS cfg_c = PDMAUDIOPCMPROPS_INITIALIZOR( /* Upmixing to parent */
    343337        8,                                                                 /* Bits */
    344338        false,                                                             /* Signed */
     
    347341        PDMAUDIOPCMPROPS_MAKE_SHIFT_PARMS(8 /* Bits */, 1 /* Channels */), /* Shift */
    348342        false                                                              /* Swap Endian */
    349     };
     343    );
    350344
    351345    RTTESTI_CHECK(DrvAudioHlpPCMPropsAreValid(&cfg_c));
     
    422416
    423417    /* 44100Hz, 1 Channel, S16 */
    424     PDMAUDIOPCMPROPS cfg_p =
    425     {
     418    PDMAUDIOPCMPROPS cfg_p = PDMAUDIOPCMPROPS_INITIALIZOR(
    426419        16,                                                                 /* Bits */
    427420        true,                                                               /* Signed */
     
    430423        PDMAUDIOPCMPROPS_MAKE_SHIFT_PARMS(16 /* Bits */, 1 /* Channels */), /* Shift */
    431424        false                                                               /* Swap Endian */
    432     };
     425    );
    433426
    434427    RTTESTI_CHECK(DrvAudioHlpPCMPropsAreValid(&cfg_p));
     
    438431
    439432    /* 22050Hz, 1 Channel, S16 */
    440     PDMAUDIOPCMPROPS cfg_c =   /* Upmixing to parent */
    441     {
     433    PDMAUDIOPCMPROPS cfg_c = PDMAUDIOPCMPROPS_INITIALIZOR( /* Upmixing to parent */
    442434        16,                                                                 /* Bits */
    443435        true,                                                               /* Signed */
     
    446438        PDMAUDIOPCMPROPS_MAKE_SHIFT_PARMS(16 /* Bits */, 1 /* Channels */), /* Shift */
    447439        false                                                               /* Swap Endian */
    448     };
     440    );
    449441
    450442    RTTESTI_CHECK(DrvAudioHlpPCMPropsAreValid(&cfg_c));
     
    521513    /* Same for parent/child. */
    522514    /* 44100Hz, 2 Channels, S16 */
    523     PDMAUDIOPCMPROPS cfg =
    524     {
     515    PDMAUDIOPCMPROPS cfg = PDMAUDIOPCMPROPS_INITIALIZOR(
    525516        16,                                                                 /* Bits */
    526517        true,                                                               /* Signed */
     
    529520        PDMAUDIOPCMPROPS_MAKE_SHIFT_PARMS(16 /* Bits */, 2 /* Channels */), /* Shift */
    530521        false                                                               /* Swap Endian */
    531     };
     522    );
    532523
    533524    RTTESTI_CHECK(DrvAudioHlpPCMPropsAreValid(&cfg));
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