X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/d7e50217d7adf6e52786a38bcaa4cd698cb9a79e..935ed37a5c468c8a1c07408573c08b8b7ef80e8b:/iokit/Kernel/IOKitDebug.cpp?ds=inline diff --git a/iokit/Kernel/IOKitDebug.cpp b/iokit/Kernel/IOKitDebug.cpp index 970a4bd2a..3a2415196 100644 --- a/iokit/Kernel/IOKitDebug.cpp +++ b/iokit/Kernel/IOKitDebug.cpp @@ -1,16 +1,19 @@ /* - * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved. + * Copyright (c) 1998-2006 Apple Computer, Inc. All rights reserved. * - * @APPLE_LICENSE_HEADER_START@ - * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. + * @APPLE_OSREFERENCE_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 @@ -20,7 +23,7 @@ * Please see the License for the specific language governing rights and * limitations under the License. * - * @APPLE_LICENSE_HEADER_END@ + * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ */ /* * Copyright (c) 1998 Apple Computer, Inc. All rights reserved. @@ -29,6 +32,8 @@ * */ +#include + #include #include #include @@ -38,19 +43,26 @@ #include #include -extern "C" { - -SInt64 gIOKitDebug #ifdef IOKITDEBUG - = IOKITDEBUG +#define DEBUG_INIT_VALUE IOKITDEBUG +#else +#define DEBUG_INIT_VALUE 0 #endif -; + +SInt64 gIOKitDebug = DEBUG_INIT_VALUE; +SYSCTL_QUAD(_debug, OID_AUTO, iokit, CTLFLAG_RW, &gIOKitDebug, "boot_arg io"); + int debug_malloc_size; int debug_iomalloc_size; + +vm_size_t debug_iomallocpageable_size; int debug_container_malloc_size; // int debug_ivars_size; // in OSObject.cpp +extern "C" { + + void IOPrintPlane( const IORegistryPlane * plane ) { IORegistryEntry * next; @@ -70,7 +82,7 @@ void IOPrintPlane( const IORegistryPlane * plane ) iter->reset(); while( (next = iter->getNextObjectRecursive())) { - sprintf( format + 1, "%ds", 2 * next->getDepth( plane )); + snprintf(format + 1, sizeof(format) - 1, "%ds", 2 * next->getDepth( plane )); IOLog( format, ""); IOLog( "\033[33m%s", next->getName( plane )); if( (next->getLocation( plane ))) @@ -126,7 +138,7 @@ void db_dumpiojunk( const IORegistryPlane * plane ) iter->reset(); while( (next = iter->getNextObjectRecursive())) { - sprintf( format + 1, "%ds", 2 * next->getDepth( plane )); + snprintf(format + 1, sizeof(format) - 1, "%ds", 2 * next->getDepth( plane )); dbugprintf( format, ""); dbugprintf( "%s", next->getName( plane )); if( (next->getLocation( plane ))) @@ -192,7 +204,6 @@ void IOKitDiagnostics::updateOffset( OSDictionary * dict, off->release(); } - bool IOKitDiagnostics::serialize(OSSerialize *s) const { OSDictionary * dict; @@ -205,8 +216,9 @@ bool IOKitDiagnostics::serialize(OSSerialize *s) const updateOffset( dict, debug_ivars_size, "Instance allocation" ); updateOffset( dict, debug_container_malloc_size, "Container allocation" ); updateOffset( dict, debug_iomalloc_size, "IOMalloc allocation" ); + updateOffset( dict, debug_iomallocpageable_size, "Pageable allocation" ); - dict->setObject( "Classes", OSMetaClass::getClassDictionary() ); + OSMetaClass::serializeClassDictionary(dict); ok = dict->serialize( s );