X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/ff6e181ae92fc6f1e89841290f461d1f2f9badd9..4a3eedf9ecc9bbe3f3a5c6ce5e53ad199d639d32:/osfmk/ppc/locks.h diff --git a/osfmk/ppc/locks.h b/osfmk/ppc/locks.h index b47ab06fb..a13399a0b 100644 --- a/osfmk/ppc/locks.h +++ b/osfmk/ppc/locks.h @@ -1,14 +1,19 @@ /* * Copyright (c) 2004 Apple Computer, Inc. All rights reserved. * - * @APPLE_LICENSE_HEADER_START@ + * @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 @@ -18,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@ */ #ifndef _PPC_LOCKS_H_ @@ -108,10 +113,11 @@ typedef struct { } lck_mtx_stat_t; typedef struct _lck_mtx_ext_ { - lck_mtx_t lck_mtx; + lck_mtx_t lck_mtx; struct _lck_grp_ *lck_mtx_grp; unsigned int lck_mtx_attr; lck_mtx_deb_t lck_mtx_deb; + /* Unused on PowerPC */ lck_mtx_stat_t lck_mtx_stat; } lck_mtx_ext_t; @@ -135,7 +141,8 @@ typedef struct { union { struct { unsigned int lck_rwd_shared_cnt:16, /* No. of shared granted request */ - lck_rwd_pad16:12, /* padding */ + lck_rwd_priv_excl:1, /* priority for Writer */ + lck_rwd_pad17:11, /* padding */ lck_rwd_want_excl:1, /* Writer is waiting, or locked for write */ lck_rwd_want_upgrade:1, /* Read-to-write upgrade waiting */ lck_rwd_waiting:1, /* Someone is sleeping on lock */ @@ -155,6 +162,7 @@ typedef struct { #define lck_rw_want_upgrade lck_rw_sw.lck_rwd.lck_rwd_want_upgrade #define lck_rw_want_excl lck_rw_sw.lck_rwd.lck_rwd_want_excl #define lck_rw_waiting lck_rw_sw.lck_rwd.lck_rwd_waiting +#define lck_rw_priv_excl lck_rw_sw.lck_rwd.lck_rwd_priv_excl #define lck_rw_shared_cnt lck_rw_sw.lck_rwd.lck_rwd_shared_cnt #define lck_rw_tag lck_rw_sw.lck_rwi.lck_rwi_tag @@ -175,7 +183,7 @@ typedef struct { } lck_rw_stat_t; typedef struct _lck_rw_ext_ { - lck_rw_t lck_rw; + lck_rw_t lck_rw; struct _lck_grp_ *lck_rw_grp; unsigned int lck_rw_attr; lck_rw_deb_t lck_rw_deb;