Li-Ta Lo <[EMAIL PROTECTED]> writes: > Eric, > > I tried to allocate a MEM resource for legacy VGA framebuffer (0xA0000 - > 0xBFFFF) on AMDK8 NB Fun 1. I find a new mem_pair and assigned base > and size of the resource as the code show in the bottom. But at the run > time the resrouce allocation code still try to allocate that resource > to 0xA0000 to 0x002ffffff. Why it does not care about the > resource->size field nor the FIXED flag ?
The resource allocator should and it does in other cases. Hmm. You don't even allocate this resource in read_resources so the resource allocator might should not even see it. The IORESOURCE_PREFETCH is not correct for that area though. Setting up write-combining MSRs would be a very bad thing to have happen. Which is what IORESOURCE_PREFETCH implies is legal. Eric > static void amdk8_create_vga_resource(device_t dev, unsigned nodeid) > { > struct resource *resource; > unsigned link; > for (link = 0; link < dev->links; link++) { > if (dev->link[link].bridge_ctrl & PCI_BRIDGE_CTL_VGA) { > printk_info("%s: bridge on link %d has VGA device\n", > dev_path(dev), link); > printk_info("creating MEM pair for VGA memory\n"); > /* Initialize the io space constraints on the current > bus */ > > resource = amdk8_find_mempair(dev, nodeid, link); > printk_info("MEM pair register %x\n", resource->index - > 0x100); > > resource->base = 0xa0000; > resource->size = 0x20000; > resource->gran = 16; > resource->align = 16; > resource->flags = IORESOURCE_PREFETCH | IORESOURCE_MEM | > > IORESOURCE_FIXED | IORESOURCE_ASSIGNED; > } > } > } > static void amdk8_set_resources(device_t dev) > { > unsigned nodeid, link; > int i; > > /* Find the nodeid */ > nodeid = amdk8_nodeid(dev); > > amdk8_create_vga_resource(dev, nodeid); > > /* Set each resource we have found */ > for (i = 0; i < dev->resources; i++) { > amdk8_set_resource(dev, &dev->resource[i], nodeid); > } > > for(link = 0; link < dev->links; link++) { > struct bus *bus; > bus = &dev->link[link]; > if (bus->children) { > assign_resources(bus); > } > } > } _______________________________________________ Linuxbios mailing list [EMAIL PROTECTED] http://www.clustermatic.org/mailman/listinfo/linuxbios