ACPI_TRAMPOLINE
pmap_kenter_pa(ACPI_TRAMPOLINE, ACPI_TRAMPOLINE,
memset((caddr_t)ACPI_TRAMPOLINE, 0xcc, PAGE_SIZE);
memcpy((caddr_t)ACPI_TRAMPOLINE, acpi_real_mode_resume,
pmap_kremove(ACPI_TRAMPOLINE, PAGE_SIZE);
sc->sc_facs->wakeup_vector = (u_int32_t)ACPI_TRAMPOLINE;
pmap_kenter_pa(ACPI_TRAMPOLINE, ACPI_TRAMPOLINE, PROT_READ | PROT_EXEC);
pmap_kremove(ACPI_TRAMPOLINE, PAGE_SIZE);
hiber_info->ranges[hiber_info->nranges].base = ACPI_TRAMPOLINE;
for (i = ACPI_TRAMPOLINE; i <= HIBERNATE_HIBALLOC_PAGE; i += PAGE_SIZE)
pmap_kenter_pa(ACPI_TRAMPOLINE, ACPI_TRAMPOLINE, PROT_READ | PROT_EXEC);
pmap_kremove(ACPI_TRAMPOLINE, PAGE_SIZE);
if (avail_start < ACPI_TRAMPOLINE + PAGE_SIZE)
avail_start = ACPI_TRAMPOLINE + PAGE_SIZE;
pmap_kenter_pa(ACPI_TRAMPOLINE, ACPI_TRAMPOLINE,
memset((caddr_t)ACPI_TRAMPOLINE, 0xcc, PAGE_SIZE);
memcpy((caddr_t)ACPI_TRAMPOLINE, acpi_real_mode_resume,
pmap_kremove(ACPI_TRAMPOLINE, PAGE_SIZE);
sc->sc_facs->wakeup_vector = (u_int32_t)ACPI_TRAMPOLINE;
pmap_kenter_pa(ACPI_TRAMPOLINE, ACPI_TRAMPOLINE, PROT_READ | PROT_EXEC);
pmap_kremove(ACPI_TRAMPOLINE, PAGE_SIZE);
hiber_info->ranges[hiber_info->nranges].base = ACPI_TRAMPOLINE;
for (i = ACPI_TRAMPOLINE; i <= HIBERNATE_HIBALLOC_PAGE; i += PAGE_SIZE)
if (a < ACPI_TRAMPOLINE + NBPG)
a = ACPI_TRAMPOLINE + NBPG;