hello all,
   I think myself a bit stupid. althoth a lot people give me help in this mailling 
list,I still have following problems:
 
the configration space(PCI)
     |-----------------------------------------| 
     |     PCI configuration head               |
     |_________________________________________|
     |Base CSR Address(0x10)                   |
     |-----------------------------------------|
     |Base Memory Address(0x014)               |
     |-----------------------------------------|
     |Base Write Interrupt Table Address(0x018)|
     |-----------------------------------------|
     |other reserved                           |
     |_________________________________________|

    According to the hardware user manual of the Broadcasting memory PCI node card,

Base CSR Address:(Base Address of Control and Status Registers )
"This 32-bit register is located at address 0x10,It indicates the location in the 
host's 4G byte PCI memory space at which configured,the largest offset control reg
is 0x2C" ------------------------------------------------------User Manual
"CSRs are mapped into the PCI memory address space beginning at the base CSR address.
This address is read from the Base CSR Address Register in PCI Configuration Register 
space. The CSR can then be accessed using offsets from a pointer that points the the 
base CSR address."------------------------------User Manual 

  the CSR Base Address i got is 0xf4100800
  when using ptr=vremap(0xf4100800,1024),the ptr i got was always 0;
  so i can not access CSR,why? could anybody help me?

  using readb(0xf4100800) or a=*(unsinged long *)(0xf4100800) always 
  cause segment falt. since i can not access the CSR, i can not control the board.
  ( I have used the pci_bios_write_config() to set the Memory Space bit of the Command
  Register,the I/O space bit is not supported by this board.)

 
 
Base Memory Address Register
"This 32-bit register indicates where in the host's 4G byte PCI memory space the 
memory on the node card will appear. the Base Memory Address Register indentifies
the first address in NetRAM."----------------------------------User Manual

  the address i got is 0xf4400000 after masked with PCI_BIOS_MEM_MASK;
  after vremap,i got 0x487a000

Base Write Interrup Table Address Register,
  this address i got is 0xf4000000 after masked with PCI_BIOS_MEM_MASK;
  after vremap,i got 0x4c7b000

  
( my linux kernel is 2.0.39)

Best regards  
  
 
            Jeffrey
            [EMAIL PROTECTED]

-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/

Reply via email to