From owner-svn-src-all@freebsd.org Sat Jun 10 23:51:26 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 507ACBF88B1; Sat, 10 Jun 2017 23:51:26 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 336B066FAE; Sat, 10 Jun 2017 23:51:26 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1033) id 8D02C63BB; Sat, 10 Jun 2017 23:51:25 +0000 (UTC) Date: Sat, 10 Jun 2017 23:51:25 +0000 From: Alexey Dokuchaev To: Konstantin Belousov Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316767 - head/sys/amd64/amd64 Message-ID: <20170610235125.GA3587@FreeBSD.org> References: <201704131549.v3DFnt9I004050@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201704131549.v3DFnt9I004050@repo.freebsd.org> User-Agent: Mutt/1.8.2 (2017-04-18) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jun 2017 23:51:26 -0000 On Thu, Apr 13, 2017 at 03:49:55PM +0000, Konstantin Belousov wrote: > New Revision: 316767 > URL: https://svnweb.freebsd.org/changeset/base/316767 > > Log: > Map DMAP as nx. > > Demotions preserve PG_NX, so it is enough to set nx bit for initial > lowest-level paging entries. Hi Kostik, It seems this change breaks resume with radeonkms(4): my laptop fells into sleep, but upon resume it immediately reboots with kernels after r316767. Reverting these two lines fixes resuming at least up to r316986, but the latest -CURRENT still reboots, perhaps for another reason. I'll continue my bisecting of higher revisions. Meanwhile, any ideas? ./danfe > Modified: > head/sys/amd64/amd64/pmap.c > > Modified: head/sys/amd64/amd64/pmap.c > ============================================================================== > --- head/sys/amd64/amd64/pmap.c Thu Apr 13 15:49:32 2017 (r316766) > +++ head/sys/amd64/amd64/pmap.c Thu Apr 13 15:49:55 2017 (r316767) > @@ -933,14 +933,14 @@ create_pagetables(vm_paddr_t *firstaddr) > pd_p[j] = (vm_paddr_t)i << PDRSHIFT; > /* Preset PG_M and PG_A because demotion expects it. */ > pd_p[j] |= X86_PG_RW | X86_PG_V | PG_PS | X86_PG_G | > - X86_PG_M | X86_PG_A; > + X86_PG_M | X86_PG_A | pg_nx; > } > pdp_p = (pdp_entry_t *)DMPDPphys; > for (i = 0; i < ndm1g; i++) { > pdp_p[i] = (vm_paddr_t)i << PDPSHIFT; > /* Preset PG_M and PG_A because demotion expects it. */ > pdp_p[i] |= X86_PG_RW | X86_PG_V | PG_PS | X86_PG_G | > - X86_PG_M | X86_PG_A; > + X86_PG_M | X86_PG_A | pg_nx; > } > for (j = 0; i < ndmpdp; i++, j++) { > pdp_p[i] = DMPDphys + ptoa(j);