8.0RC2 amd64 - kernel panic running make buildworld

S.N.Grigoriev serguey-grigoriev at yandex.ru
Tue Nov 17 15:58:20 UTC 2009



17.11.09, 10:32, "Andriy Gapon" <avg at icyb.net.ua>
wrote:

> Kai,
> the latest patch in the works, it's against a clean tree:
> diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c
> index 44b71f3..ff35eb9 100644
> --- a/sys/amd64/amd64/pmap.c
> +++ b/sys/amd64/amd64/pmap.c
> @@ -2365,6 +2365,9 @@ pmap_demote_pde
>  	 * the read above and the store below.
>  	 */
>  	pde_store(pde, newpde);	
> +	pmap_invalidate_page(pmap, va);
> +	clflush((vm_offset_t)vtopde(va));
> +	mfence();
>  	/*
>  	 * Invalidate a stale recursive mapping of the page table page.
> @@ -2981,6 +2984,11 @@ setpte:
>  	 * Map the superpage.
>  	 */
>  	pde_store(pde, PG_PS | newpde);
> +	pmap_invalidate_range(pmap, va & ~PDRMASK, (va & ~PDRMASK) + NBPDR);
> +	clflush((vm_offset_t)vtopde(va));
> +	mfence();
> +	if (va >= VM_MAXUSER_ADDRESS)
> +		pmap_invalidate_page(pmap, (vm_offset_t)vtopte(va));
>  	pmap_pde_promotions++;
>  	CTR2(KTR_PMAP, "pmap_promote_pde: success for va %#lx"

Andriy,

I can confirm your patch works for me.
I've done 'make -j8 buildworld && make -j8 buildkernel'
without problems.

-- 
Regards,
S.Grigoriev.


More information about the freebsd-current mailing list