From owner-svn-src-projects@FreeBSD.ORG Sat Oct 12 14:23:34 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 7E3E4FEC; Sat, 12 Oct 2013 14:23:34 +0000 (UTC) (envelope-from cherry@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 6BC4B2FAF; Sat, 12 Oct 2013 14:23:34 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r9CENYCk052299; Sat, 12 Oct 2013 14:23:34 GMT (envelope-from cherry@svn.freebsd.org) Received: (from cherry@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r9CENYCq052298; Sat, 12 Oct 2013 14:23:34 GMT (envelope-from cherry@svn.freebsd.org) Message-Id: <201310121423.r9CENYCq052298@svn.freebsd.org> From: "Cherry G. Mathew" Date: Sat, 12 Oct 2013 14:23:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r256379 - projects/amd64_xen_pv/sys/amd64/xen X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Oct 2013 14:23:34 -0000 Author: cherry Date: Sat Oct 12 14:23:33 2013 New Revision: 256379 URL: http://svnweb.freebsd.org/changeset/base/256379 Log: Initialise percpu vcpu_info properly with the dpcpu api Approved by: gibbs(implicit) Modified: projects/amd64_xen_pv/sys/amd64/xen/machdep.c Modified: projects/amd64_xen_pv/sys/amd64/xen/machdep.c ============================================================================== --- projects/amd64_xen_pv/sys/amd64/xen/machdep.c Sat Oct 12 14:21:04 2013 (r256378) +++ projects/amd64_xen_pv/sys/amd64/xen/machdep.c Sat Oct 12 14:23:33 2013 (r256379) @@ -466,13 +466,6 @@ initxen(struct start_info *si) KASSERT(PTOV(physfree) <= (xenstack + 512 * 1024), ("Attempt to use unmapped va\n")); - /* Register the rest of free physical memory with phys_avail[] */ - /* dump_avail[] starts at index 1 */ - phys_avail[pa_index++] = physfree; - dump_avail[pa_index] = physfree; - phys_avail[pa_index++] = ptoa(physmem); - dump_avail[pa_index] = ptoa(physmem); - /* * This may be done better later if it gets more high level * components in it. If so just link td->td_proc here. @@ -532,9 +525,22 @@ initxen(struct start_info *si) /* per cpu structures for cpu0 */ pcpu_init(pc, 0, sizeof(struct pcpu)); + + dpcpu_init((void *)(PTOV(physfree)), 0); + physfree += DPCPU_SIZE; + + /* XXX: This is a hack until we have MP */ + DPCPU_ID_SET(0, vcpu_info, &HYPERVISOR_shared_info->vcpu_info[0]); + + /* Register the rest of free physical memory with phys_avail[] */ + /* dump_avail[] starts at index 1 */ + phys_avail[pa_index++] = physfree; + dump_avail[pa_index] = physfree; + phys_avail[pa_index++] = ptoa(physmem); + dump_avail[pa_index] = ptoa(physmem); + PCPU_SET(prvspace, pc); PCPU_SET(curthread, &thread0); - PCPU_SET(tssp, &common_tss[0]); /* Dummy - see definition */ PCPU_SET(commontssp, &common_tss[0]); /* Dummy - see definition */ PCPU_SET(fs32p, (void *)xpmap_ptom(VTOP(&gdt[GUFS32_SEL]))); /* Note: On Xen PV, we set the machine address. */