X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/8f6c56a50524aa785f7e596d52dddfb331e18961..b7266188b87f3620ec3f9f717e57194a7dd989fe:/osfmk/ppc/locks.h diff --git a/osfmk/ppc/locks.h b/osfmk/ppc/locks.h index 1e7964aab..639a820a8 100644 --- a/osfmk/ppc/locks.h +++ b/osfmk/ppc/locks.h @@ -113,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; @@ -130,8 +131,13 @@ typedef struct _lck_mtx_ext_ { typedef struct { unsigned int opaque[3]; } lck_mtx_t; + +typedef struct { + unsigned int opaque[16]; +} lck_mtx_ext_t; #else -typedef struct __lck_mtx_t__ lck_mtx_t; +typedef struct __lck_mtx_t__ lck_mtx_t; +typedef struct __lck_mtx_ext_t__ lck_mtx_ext_t; #endif #endif @@ -140,7 +146,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 */ @@ -160,6 +167,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 @@ -180,7 +188,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;