Problem with DMA on x86_64 with 3 GB RAM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I am trying to debug a bcm43xx DMA problem on an x86_64 system with 3 GB RAM. Depending on the particular chip and its implementation, dma transfers may use 64-, 32-, or 30-bit addressing, with the problem interface using 30-bit addressing. From test prints, the correct mask (0x3FFFFFFF) is supplied to pci_set_dma_mask and pci_set_consistent_dma_mask. Neither call returns an error. In addition, several x86_64 systems with more than 1 GB RAM have worked with the current code.

If the system is booted with mem=1024M on the command line, it operates normally; however, it gets a kernel NULL pointer dereference and panics when booted with either 2 or 3 GB RAM.

The config parameters in the processor section are as follows:

CONFIG_X86_64=y
CONFIG_64BIT=y
CONFIG_X86=y
CONFIG_ZONE_DMA32=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_MMU=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_CMPXCHG=y
CONFIG_EARLY_PRINTK=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_DMI=y
CONFIG_AUDIT_ARCH=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

I would appreciate any tips on debugging this problem. Are there any quantities that should be dumped, etc?

Thanks,

Larry


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux