|
@@ -630,6 +630,7 @@ static __init int init_k8_gatt(struct agp_kern_info *info)
|
|
struct pci_dev *dev;
|
|
struct pci_dev *dev;
|
|
void *gatt;
|
|
void *gatt;
|
|
int i, error;
|
|
int i, error;
|
|
|
|
+ unsigned long start_pfn, end_pfn;
|
|
|
|
|
|
printk(KERN_INFO "PCI-DMA: Disabling AGP.\n");
|
|
printk(KERN_INFO "PCI-DMA: Disabling AGP.\n");
|
|
aper_size = aper_base = info->aper_size = 0;
|
|
aper_size = aper_base = info->aper_size = 0;
|
|
@@ -674,6 +675,16 @@ static __init int init_k8_gatt(struct agp_kern_info *info)
|
|
|
|
|
|
printk(KERN_INFO "PCI-DMA: aperture base @ %x size %u KB\n",
|
|
printk(KERN_INFO "PCI-DMA: aperture base @ %x size %u KB\n",
|
|
aper_base, aper_size>>10);
|
|
aper_base, aper_size>>10);
|
|
|
|
+
|
|
|
|
+ /* need to map that range */
|
|
|
|
+ end_pfn = (aper_base>>PAGE_SHIFT) + (aper_size>>PAGE_SHIFT);
|
|
|
|
+ if (end_pfn > max_low_pfn_mapped) {
|
|
|
|
+ start_pfn = max_low_pfn_mapped;
|
|
|
|
+ max_low_pfn_mapped = init_memory_mapping(start_pfn<<PAGE_SHIFT,
|
|
|
|
+ end_pfn<<PAGE_SHIFT);
|
|
|
|
+ if (max_pfn_mapped < max_low_pfn_mapped)
|
|
|
|
+ max_pfn_mapped = max_low_pfn_mapped;
|
|
|
|
+ }
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
nommu:
|
|
nommu:
|