On Tue, Nov 2, 2010 at 8:13 AM, Mark Marshall <[email protected]> wrote: > 742 > === > I've made a fwe modifications to config_space.v. I've used parameters for > the size of the BARS, and passed "low_bit" to cfg_address_decode as a > parameter. This has possibly reduced some logic and has made it clearer (to > both the comppiler and human reader) that this will never change. I've > added the include file and pulled the VID and PID from there. I've added > the "if (write_bytes[n])" statements into the writes to the "fake_write" > registers (which are needed, but we would probably get away without).
It's been a long time, but IIRC, I had designed them to be variable because I had in the back of my mind the idea that we might want them changeable. The applications of this are rare. When colleagues and I were developing graphics drivers for PPC machines running AIX, we ran into a problem where you could not map more than four memory apertures into a user process. (They didn't even have mmap, so we had to do some weird stuff in the kernel driver.) Some of our graphics cards wanted to expose three BARs, meaning that we couldn't support multi-head. Our solution was to rearrange (after boot up) the physical addresses and sizes of the BARs so that AIX thought we were mapping in only a single physical region that included all three, and then we could support four heads. To make this work, we had to have one BAR (the largest one) request twice the space it really needed. Then in the kernel driver, we'd shrink it by half and then reposition the other BARs into the remaining void. But do we care about AIX now? -- Timothy Normand Miller http://www.cse.ohio-state.edu/~millerti Open Graphics Project _______________________________________________ Open-graphics mailing list [email protected] http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)
