Date: Mon, 17 May 2021 17:06:51 GMT From: Mark Johnston <markj@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 4224dbf4c7c4 - main - xen: Remove leftover bits missed in commit ac3ede5371 Message-ID: <202105171706.14HH6paS021361@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=4224dbf4c7c497130150eafb0442f5306389e068 commit 4224dbf4c7c497130150eafb0442f5306389e068 Author: Mark Johnston <markj@FreeBSD.org> AuthorDate: 2021-05-17 17:05:58 +0000 Commit: Mark Johnston <markj@FreeBSD.org> CommitDate: 2021-05-17 17:06:44 +0000 xen: Remove leftover bits missed in commit ac3ede5371 Fixes: ac3ede5371 ("x86/xen: remove PVHv1 code") Reviewed by: royger Differential Revision: https://reviews.freebsd.org/D30316 --- sys/x86/xen/pv.c | 69 -------------------------------------------------------- 1 file changed, 69 deletions(-) diff --git a/sys/x86/xen/pv.c b/sys/x86/xen/pv.c index c6dfff511c0c..254ca4002bda 100644 --- a/sys/x86/xen/pv.c +++ b/sys/x86/xen/pv.c @@ -95,10 +95,6 @@ uint64_t hammer_time_xen(vm_paddr_t); static caddr_t xen_pvh_parse_preload_data(uint64_t); static void xen_pvh_parse_memmap(caddr_t, vm_paddr_t *, int *); -#ifdef SMP -static int xen_pv_start_all_aps(void); -#endif - /*---------------------------- Extern Declarations ---------------------------*/ #ifdef SMP /* Variables used by amd64 mp_machdep to start APs */ @@ -208,71 +204,6 @@ hammer_time_xen(vm_paddr_t start_info_paddr) } /*-------------------------------- PV specific -------------------------------*/ -#ifdef SMP -static bool -start_xen_ap(int cpu) -{ - struct vcpu_guest_context *ctxt; - int ms, cpus = mp_naps; - const size_t stacksize = kstack_pages * PAGE_SIZE; - - /* allocate and set up an idle stack data page */ - bootstacks[cpu] = (void *)kmem_malloc(stacksize, M_WAITOK | M_ZERO); - doublefault_stack = (char *)kmem_malloc(PAGE_SIZE, M_WAITOK | M_ZERO); - mce_stack = (char *)kmem_malloc(PAGE_SIZE, M_WAITOK | M_ZERO); - nmi_stack = (char *)kmem_malloc(PAGE_SIZE, M_WAITOK | M_ZERO); - dbg_stack = (void *)kmem_malloc(PAGE_SIZE, M_WAITOK | M_ZERO); - dpcpu = (void *)kmem_malloc(DPCPU_SIZE, M_WAITOK | M_ZERO); - - bootSTK = (char *)bootstacks[cpu] + kstack_pages * PAGE_SIZE - 8; - bootAP = cpu; - - ctxt = malloc(sizeof(*ctxt), M_TEMP, M_WAITOK | M_ZERO); - - ctxt->flags = VGCF_IN_KERNEL; - ctxt->user_regs.rip = (unsigned long) init_secondary; - ctxt->user_regs.rsp = (unsigned long) bootSTK; - - /* Set the AP to use the same page tables */ - ctxt->ctrlreg[3] = KPML4phys; - - if (HYPERVISOR_vcpu_op(VCPUOP_initialise, cpu, ctxt)) - panic("unable to initialize AP#%d", cpu); - - free(ctxt, M_TEMP); - - /* Launch the vCPU */ - if (HYPERVISOR_vcpu_op(VCPUOP_up, cpu, NULL)) - panic("unable to start AP#%d", cpu); - - /* Wait up to 5 seconds for it to start. */ - for (ms = 0; ms < 5000; ms++) { - if (mp_naps > cpus) - return (true); - DELAY(1000); - } - - return (false); -} - -static int -xen_pv_start_all_aps(void) -{ - int cpu; - - mtx_init(&ap_boot_mtx, "ap boot", NULL, MTX_SPIN); - - for (cpu = 1; cpu < mp_ncpus; cpu++) { - /* attempt to start the Application Processor */ - if (!start_xen_ap(cpu)) - panic("AP #%d failed to start!", cpu); - - CPU_SET(cpu, &all_cpus); /* record AP in CPU map */ - } - - return (mp_naps); -} -#endif /* SMP */ /* * When booted as a PVH guest FreeBSD needs to avoid using the RSDP address
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202105171706.14HH6paS021361>