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/