acpi_wakeup.c (1a0fda2b547365c9453523592a445dfe21266d4b) acpi_wakeup.c (6cf9a08d2c338e25f0be42326e6880f089156562)
1/*-
2 * Copyright (c) 2001 Takanori Watanabe <takawata@jp.freebsd.org>
3 * Copyright (c) 2001 Mitsuru IWASAKI <iwasaki@jp.freebsd.org>
4 * Copyright (c) 2003 Peter Wemm
5 * Copyright (c) 2008-2009 Jung-uk Kim <jkim@FreeBSD.org>
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 231 unchanged lines hidden (view full) ---

240 /*
241 * Temporarily switch to the kernel pmap because it provides
242 * an identity mapping (setup at boot) for the low physical
243 * memory region containing the wakeup code.
244 */
245 cr3 = rcr3();
246 load_cr3(KPML4phys);
247
1/*-
2 * Copyright (c) 2001 Takanori Watanabe <takawata@jp.freebsd.org>
3 * Copyright (c) 2001 Mitsuru IWASAKI <iwasaki@jp.freebsd.org>
4 * Copyright (c) 2003 Peter Wemm
5 * Copyright (c) 2008-2009 Jung-uk Kim <jkim@FreeBSD.org>
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 231 unchanged lines hidden (view full) ---

240 /*
241 * Temporarily switch to the kernel pmap because it provides
242 * an identity mapping (setup at boot) for the low physical
243 * memory region containing the wakeup code.
244 */
245 cr3 = rcr3();
246 load_cr3(KPML4phys);
247
248 stopfpu = &stopxpcbs[0]->xpcb_pcb.pcb_save;
248 stopfpu = stopxpcbs[0]->xpcb_pcb.pcb_save;
249 if (acpi_savecpu(stopxpcbs[0])) {
250 fpugetregs(curthread, stopfpu);
251
252#ifdef SMP
253 if (wakeup_cpus != 0 && suspend_cpus(wakeup_cpus) == 0) {
254 device_printf(sc->acpi_dev,
255 "Failed to suspend APs: CPU mask = 0x%jx\n",
256 (uintmax_t)(wakeup_cpus & ~stopped_cpus));

--- 158 unchanged lines hidden ---
249 if (acpi_savecpu(stopxpcbs[0])) {
250 fpugetregs(curthread, stopfpu);
251
252#ifdef SMP
253 if (wakeup_cpus != 0 && suspend_cpus(wakeup_cpus) == 0) {
254 device_printf(sc->acpi_dev,
255 "Failed to suspend APs: CPU mask = 0x%jx\n",
256 (uintmax_t)(wakeup_cpus & ~stopped_cpus));

--- 158 unchanged lines hidden ---