X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/ff6e181ae92fc6f1e89841290f461d1f2f9badd9..c6bf4f310a33a9262d455ea4d3f0630b1255e3fe:/osfmk/kern/processor_data.c diff --git a/osfmk/kern/processor_data.c b/osfmk/kern/processor_data.c index 1369ef1dd..b658db17f 100644 --- a/osfmk/kern/processor_data.c +++ b/osfmk/kern/processor_data.c @@ -1,15 +1,20 @@ /* - * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. + * Copyright (c) 2003-2008 Apple Inc. All rights reserved. + * + * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * - * @APPLE_LICENSE_HEADER_START@ - * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. - * + * compliance with the License. The rights granted to you under the License + * may not be used to create, or enable the creation or redistribution of, + * unlawful or unlicensed copies of an Apple operating system, or to + * circumvent, violate, or enable the circumvention or violation of, any + * terms of an Apple operating system software license agreement. + * + * Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this file. + * * The Original Code and all software distributed under the License are * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, @@ -17,30 +22,35 @@ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. * Please see the License for the specific language governing rights and * limitations under the License. - * - * @APPLE_LICENSE_HEADER_END@ + * + * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ */ /* * Machine independent per processor data. - * - * HISTORY - * - * 16 October 2003 (debo) - * Created. */ #include #include +#include +#include void processor_data_init( - processor_t processor) + processor_t processor) { - (void)memset(&processor->processor_data, 0, sizeof (processor_data_t)); + (void)memset(&processor->processor_data, 0, sizeof(processor_data_t)); + + timer_init(&PROCESSOR_DATA(processor, idle_state)); + timer_init(&PROCESSOR_DATA(processor, system_state)); + timer_init(&PROCESSOR_DATA(processor, user_state)); - queue_init(&PROCESSOR_DATA(processor, timer_call_queue)); -#if !STAT_TIME - timer_init(&PROCESSOR_DATA(processor, offline_timer)); -#endif /* STAT_TIME */ + PROCESSOR_DATA(processor, debugger_state).db_current_op = DBOP_NONE; +} + +boolean_t +processor_in_panic_context( + processor_t processor) +{ + return PROCESSOR_DATA(processor, debugger_state).db_entry_count > 0; }