PAGE_FAULT_... and PCI64

From: blu (b.lu_at_fastwebnet.it)
Date: 05/13/04

  • Next message: Bryan S. Burgin [MSFT]: "RE: Reloading (R)NDIS driver"
    Date: Thu, 13 May 2004 09:37:41 +0200
    
    

    Deal all,
    I'm writing a WDM driver for PCI 64 bit.

    Transfer is done in DMA (Block DMA - Channel 0) and after every DMA transfer
    I receive an interrupt.
    Hardware sends 32KBytes for each DMA transfer (and this is not
    customizable).

    When I receive interrupt I copy memory transferred with DMA to an Array
    allocated when driver start with

    ExAllocatePoolWithTag(NonPagedPool, MEMORY_SIZE, nTag);

    where MEMORY_SIZE is the size of a structure (0x8150 bytes)

    This way I free DMA memory and I'm ready to receive new data from PCI.

    In the meantime an user application send an IOCTL to read the array and put
    data to a user process.

    This works fine for about 1 or 2 hours then system crashes and I receive
    PAGE_FAULT_IN_NONPAGED_AREA
    with the following parameters : (<some address>, 0 (= Read), <some address>,
    <reserved>).

    I cannot use Debugger because using it my driver/application became slow and
    I loose data from PCI
    (I cannot loose data because user application cannot work if some byte are
    missing). I must use free
    version of both driver and application and application must run with real
    time priority.

    a schematic of my application is the following :

    User Application
        |
        |
    Array (256 blocks of 0x8150 bytes allocated with ExAllocatePoolWithTag)
        |
        |
    DMA memory
        |
        |
       PCI

    Some suggestions ?

    Thank a lot,
    Blu


  • Next message: Bryan S. Burgin [MSFT]: "RE: Reloading (R)NDIS driver"

    Relevant Pages

    • dma timeout
      ... my *old hdd* got up with dma mode. ... PIIX4: IDE controller at PCI slot 00:04.1 ... ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ... hda: attached ide-disk driver. ...
      (Debian-User)
    • [PATCH RFC v5] net: add PCINet driver
      ... PCI bus as its transport mechanism. ... RFC v4 -> RFC v5: ... use seperate DMA channels for RX and TX ... Thanks to all of those who have posted comments about the driver. ...
      (Linux-Kernel)
    • [PATCH 19-rc2] Fix misc Kconfig typos
      ... limits the system to just 64MB of PCI memory. ... config MACH_LPD7A400 ... If you do not enable DMA, an interrupt for each character will be ... This driver toggles the front-panel LED on sun4m systems ...
      (Linux-Kernel)
    • PowerPC PCI queries
      ... I have recently started work on a PowerPC 405 based driver. ... The PCI ... if the user reads/writes to that memory egion, how are the DMA ... Specifically if the kernel accesses these reserved ...
      (comp.os.linux.development.system)
    • Re: PROBLEM: 2.6.23-rc "NETDEV WATCHDOG: eth0: transmit timed out"
      ... 2.6.23-rc1 I have trouble with my network connection. ... # Bus options (PCI, PCMCIA, EISA, MCA, ISA) ... # PCCARD support ... # Generic Driver Options ...
      (Linux-Kernel)