> > > >> > >> > The problem happens when ethoc_read() call ioread32() with phys addr > >> > 0xFFF0C2C100. > >> > >> That means there is nothing responding at that physical address. > > > > I need some help. If I want to have access to IO device I need to do following: > > > > 1. Get permission from hypervisor about using the phys addr; > > 2. Convert phys addr to real addr; > > 2. Initialize TSB by this real addr. > > > > It's right? Which APIs should I use for these actions? > > You're likely need to make hypervisor changes to make this work. > > There are no APIs for privileged level code to ask the hypervisor to > just do these things. If it did, the hypervisor would be useless, > it's there exactly to protect the system from privileged code > accessing arbitrary physical and I/O memory. > > What probably is the easiest way is to make sure the OpenFirmware > device tree has a proper nodes and mappings for your device. Sure it should not always grant a requested access, it should lock the address ranges used by guest systems and so prevent granting access to other systems to the locked addresses. Isn't it? I just find strange if adding a device that uses physical IO space (any non-PnP ISA card for example) will result in pathching the OpenFirmware. -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html