Hello,
my understanding of PCI access and related TLB initialisation
(from bootloader to OS) is as follow:-
1.typically in bootloader PCI bridge is initialised
for IO amd MEM space windows.
2.also TLB entry is setup for virtual - > physical mapping.
examplesake if my PCI memory window is at 0x40000000 .
I would setup a TLB entry for this with appropiate index VPN and
PFN.
3.now i am all set to access PCI space ..am i right..?
now my question is that after OS comes up initially it calls
tlb_flush_all() ..should it again explicitly initialise the TLB
entries in xxx_setup()..
if yes does the the following lines are doing the same..
offcourse adresses may have to changed in my BSP.
/* map 0xe0000000 virtual to 0x40000000 phys for PCI */
write_32bit_cp0_register(CP0_WIRED, 0); /* clear any
previous stuff */
add_wired_entry(0x01000017, 0x01040017,xe0000000,PM_16M);
Best Regards,
Atul
__________________________________________________________
Give your Company an email address like
ravi @ ravi-exports.com. Sign up for Rediffmail Pro today!
Know more. http://www.rediffmailpro.com/signup/
|