diff options
author | gber <gber@FreeBSD.org> | 2012-09-14 09:45:13 +0000 |
---|---|---|
committer | gber <gber@FreeBSD.org> | 2012-09-14 09:45:13 +0000 |
commit | 7a7457567dad55be14246ccc38cc07e8f83e70cd (patch) | |
tree | 489cf327dc79bc392ffcea144e50bd7ea6d68bdc | |
parent | e13838f3e090e352fa4b87246e2a770e9ebf6742 (diff) | |
download | FreeBSD-src-7a7457567dad55be14246ccc38cc07e8f83e70cd.zip FreeBSD-src-7a7457567dad55be14246ccc38cc07e8f83e70cd.tar.gz |
If virtual addresses are not set use one to one mapping.
Do not map memory and IO space at address 0.
Obtained from: Semihalf
-rw-r--r-- | sys/dev/fdt/fdt_pci.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/fdt/fdt_pci.c b/sys/dev/fdt/fdt_pci.c index 68cf898..40f12cb 100644 --- a/sys/dev/fdt/fdt_pci.c +++ b/sys/dev/fdt/fdt_pci.c @@ -341,14 +341,14 @@ fdt_pci_devmap(phandle_t node, struct pmap_devmap *devmap, vm_offset_t io_va, if ((error = fdt_pci_ranges_decode(node, &io_space, &mem_space)) != 0) return (error); - devmap->pd_va = io_va; + devmap->pd_va = (io_va ? io_va : io_space.base_parent); devmap->pd_pa = io_space.base_parent; devmap->pd_size = io_space.len; devmap->pd_prot = VM_PROT_READ | VM_PROT_WRITE; devmap->pd_cache = PTE_NOCACHE; devmap++; - devmap->pd_va = mem_va; + devmap->pd_va = (mem_va ? mem_va : mem_space.base_parent); devmap->pd_pa = mem_space.base_parent; devmap->pd_size = mem_space.len; devmap->pd_prot = VM_PROT_READ | VM_PROT_WRITE; |