On Sun, 2008-01-20 at 00:07 +0100, Andi Kleen wrote:Indeed it does. I don't have any non-PAE to test it but I turned the failure case into a simple jmp to hlt_loop since we ought never to get here in any case. The problem here is that we explicitly want native accessors because it's too early to use the pv ops since we are still running P==V. A PV kernel boot will never come down this path -- it is diverted earlier in head_32.S so using the native versions are appropriate. I'll try again to use the native_{make,set}_xxx functions but originally I found the necessary variants weren't defined in all combinations of PAE/not and PARAVIRT/not. FWIW we use the same undef trick under arch/x86/boot too and this early start of day stuff if fairly similar. As hpa says we can't be above 4G at this point. Probably I can use some variant of make_pte now though. I was trying to fit in with the native_foo stuff that is available and happened to be using pud on my last attempt before I switched to the #undef CONFIG_PARAVIRT approach. I'll switch to pgd if I can get it to work. pgd_none (and pud_none) are hardcoded to 0 in the 32 bit case (in asm-generic/pgtable-nopud.h and asm-generic/pgtable-nopmd.h or asm-x86/pgtable-3level.h). Presumably this is because at regular runtime these entries are guaranteed to exist which isn't true this early at startup. In fact since we are always going to need a PMD in the PAE case there is probably not much wrong with simply unconditionally allocating the pmd at the start of early_pgtable_init(). done (without the !) True. However the assembly being replaced makes the same assumptions so I don't think that should block this patch, it's a fixup that can be made later. Done. Nope, the return type of early_ioremap_pte() changed unsigned long -> pte_t and that is what is assigned to pte. I'll spin another version. Ian. -- Ian Campbell "I go on working for the same reason a hen goes on laying eggs." -- H. L. Mencken --
| Greg KH | [RFC] sample kobject implementation |
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
| Paul E. McKenney | [PATCH RFC 2/9] RCU: Fix barriers |
| Joe Perches | [PATCH 011/148] include/asm-x86/bug.h: checkpatch cleanups - formatting only |
git: | |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| Linus Torvalds | Re: [GIT]: Networking |
| Jeff Garzik | Re: [PATCH] drivers/net: remove network drivers' last few uses of IRQF_SAMPLE_RANDOM |
