VirtualBox

Changeset 88426 in vbox for trunk/src/VBox/Devices/Network


Ignore:
Timestamp:
Apr 8, 2021 6:37:20 PM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
143676
Message:

Dev/E1000: (ticketref:20182) Implement ICS read for VxWorks compatibility.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Network/DevE1000.cpp

    r88424 r88426  
    13801380static FNE1KREGREAD  e1kRegReadICR;
    13811381static FNE1KREGWRITE e1kRegWriteICR;
     1382static FNE1KREGREAD  e1kRegReadICS;
    13821383static FNE1KREGWRITE e1kRegWriteICS;
    13831384static FNE1KREGWRITE e1kRegWriteIMS;
     
    14351436    { 0x000c0, 0x00004, 0x0001F6DF, 0x0001F6DF, e1kRegReadICR          , e1kRegWriteICR          , "ICR"     , "Interrupt Cause Read" },
    14361437    { 0x000c4, 0x00004, 0x0000FFFF, 0x0000FFFF, e1kRegReadDefault      , e1kRegWriteDefault      , "ITR"     , "Interrupt Throttling" },
    1437     { 0x000c8, 0x00004, 0x00000000, 0xFFFFFFFF, e1kRegReadUnimplemented, e1kRegWriteICS          , "ICS"     , "Interrupt Cause Set" },
     1438    { 0x000c8, 0x00004, 0x0001F6DF, 0xFFFFFFFF, e1kRegReadICS          , e1kRegWriteICS          , "ICS"     , "Interrupt Cause Set" },
    14381439    { 0x000d0, 0x00004, 0xFFFFFFFF, 0xFFFFFFFF, e1kRegReadDefault      , e1kRegWriteIMS          , "IMS"     , "Interrupt Mask Set/Read" },
    14391440    { 0x000d8, 0x00004, 0x00000000, 0xFFFFFFFF, e1kRegReadUnimplemented, e1kRegWriteIMC          , "IMC"     , "Interrupt Mask Clear" },
     
    32393240
    32403241/**
     3242 * Read handler for Interrupt Cause Set register.
     3243 *
     3244 * VxWorks driver uses this undocumented feature of real H/W to read ICR without acknowledging interrupts.
     3245 *
     3246 * @returns VBox status code.
     3247 *
     3248 * @param   pThis       The device state structure.
     3249 * @param   offset      Register offset in memory-mapped frame.
     3250 * @param   index       Register index in register array.
     3251 * @param   pu32Value   Where to store the value of the register.
     3252 * @thread  EMT
     3253 */
     3254static int e1kRegReadICS(PPDMDEVINS pDevIns, PE1KSTATE pThis, uint32_t offset, uint32_t index, uint32_t *pu32Value)
     3255{
     3256    RT_NOREF_PV(index);
     3257    return e1kRegReadDefault(pDevIns, pThis, offset, ICR_IDX, pu32Value);
     3258}
     3259
     3260/**
    32413261 * Write handler for Interrupt Cause Set register.
    32423262 *
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