1174195Srwatson/*- 2174195Srwatson * Copyright (c) 2005 Antoine Brodin 3174195Srwatson * All rights reserved. 4174195Srwatson * 5174195Srwatson * Redistribution and use in source and binary forms, with or without 6174195Srwatson * modification, are permitted provided that the following conditions 7174195Srwatson * are met: 8174195Srwatson * 1. Redistributions of source code must retain the above copyright 9174195Srwatson * notice, this list of conditions and the following disclaimer. 10174195Srwatson * 2. Redistributions in binary form must reproduce the above copyright 11174195Srwatson * notice, this list of conditions and the following disclaimer in the 12174195Srwatson * documentation and/or other materials provided with the distribution. 13174195Srwatson * 14174195Srwatson * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15174195Srwatson * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16174195Srwatson * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17174195Srwatson * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18174195Srwatson * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19174195Srwatson * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20174195Srwatson * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21174195Srwatson * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22174195Srwatson * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23174195Srwatson * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24174195Srwatson * SUCH DAMAGE. 25174195Srwatson */ 26174195Srwatson 27174195Srwatson#include <sys/cdefs.h> 28174195Srwatson__FBSDID("$FreeBSD$"); 29174195Srwatson 30174195Srwatson#include <sys/param.h> 31174195Srwatson#include <sys/systm.h> 32174195Srwatson#include <sys/proc.h> 33174195Srwatson#include <sys/stack.h> 34174195Srwatson 35174195Srwatsonvoid 36174195Srwatsonstack_save_td(struct stack *st, struct thread *td) 37174195Srwatson{ 38174195Srwatson 39174195Srwatson if (TD_IS_SWAPPED(td)) 40174195Srwatson panic("stack_save_td: swapped"); 41174195Srwatson if (TD_IS_RUNNING(td)) 42174195Srwatson panic("stack_save_td: running"); 43174195Srwatson 44174195Srwatson stack_zero(st); 45174195Srwatson} 46174195Srwatson 47174195Srwatsonvoid 48174195Srwatsonstack_save(struct stack *st) 49174195Srwatson{ 50174195Srwatson 51174195Srwatson stack_zero(st); 52174195Srwatson /* 53174195Srwatson * Nothing for now. 54174195Srwatson * Is libuwx reentrant? 55174195Srwatson * Can unw_create* sleep? 56174195Srwatson */ 57174195Srwatson} 58