On Thursday 03 April 2008 09:54:51 am Rene Herman wrote:I want to understand this better. I think the case we're concerned about is this: Memory descriptor 0 is not assigned, i.e., its base and limit/range registers starting at 0x40 contain zeroes, but Descriptor 1, starting at 0x48, *is* assigned. The 2.6.25 "get_resources" code doesn't touch the resource table for Descriptor 0, so its entry remains "unset". The "set_resources" code skips Descriptor 0 because its resource table entry is "unset" and writes Descriptor 1. When I convert the table to a list, I have to make sure that we write the Descriptor 1 resources to the correct place starting at 0x48, not to the Descriptor 0 registers. To do this, I made "get_resources" set the pnp_resource.index field to the current descriptor index, and "set_resources" uses pnp_resource.index to compute the register address. However, PNPBIOS, PNPACPI, and even ISAPNP Resource Data is all based on the ordinal position in list (see the fourth paragraph of section 4.6.1 of the ISA spec). Having pnp_resource.index in addition to a list position adds a lot of confusion. I think a better solution would be to get rid of pnp_resource.index and have "get_resources" add a "disabled" resource for Descriptor 0, so the Nth MEM resource in the list would always correspond to the Nth Memory Descriptor register. Does this make sense? Bjorn --
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Amit K. Arora | [RFC] Heads up on sys_fallocate() |
| Chuck Ebbert | Why do so many machines need "noapic"? |
git: | |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Miller | [GIT]: Networking |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Natalie Protasevich | [BUG] New Kernel Bugs |
