Hi Rob, On Tue, 04 Sep 2012 07:44:16 -0500 Rob Herring <[email protected]> wrote: > > Right. The PCI i/o reserved area has a dummy physical address of 0 and > needs to be skipped by ioremap searches. So we don't set > VM_ARM_STATIC_MAPPING to prevent matches by ioremap. The vm_struct settings > don't really matter when we do the real mapping of the i/o space. > > Here's my merge:
Thanks, I shall use this in tomorrow's tree.
> diff --cc arch/arm/mm/mmu.c
> index 4c2d045,c2fa21d,512b2c0..18144e6
> --- a/arch/arm/mm/mmu.c
> +++ b/arch/arm/mm/mmu.c
> @@@@ -785,6 -785,6 -786,19 +786,19 @@@@ void __init iotable_init(struct
> map_des
> }
> }
>
> ++ void __init vm_reserve_area_early(unsigned long addr, unsigned long size,
> ++ void *caller)
> ++ {
> ++ struct vm_struct *vm;
> ++
> ++ vm = early_alloc_aligned(sizeof(*vm), __alignof__(*vm));
> ++ vm->addr = (void *)addr;
> ++ vm->size = size;
> - vm->flags = VM_IOREMAP | VM_ARM_STATIC_MAPPING;
> +++ vm->flags = VM_IOREMAP | VM_ARM_EMPTY_MAPPING;
> ++ vm->caller = caller;
> ++ vm_area_add_early(vm);
> ++ }
> ++
--
Cheers,
Stephen Rothwell [email protected]
pgpMJIVe7u1Xg.pgp
Description: PGP signature

