Lines Matching refs:console_ring

96 } console_ring;  variable
189 if (!OSCompareAndSwap(0, KERN_CONSOLE_RING_SIZE, (UInt32 *)&console_ring.len)) { in console_init()
193 assert(console_ring.len > 0); in console_init()
195 int ret = kmem_alloc_flags(kernel_map, (vm_offset_t *)&console_ring.buffer, in console_init()
202 console_ring.buffer += PAGE_SIZE; /* Skip past the first guard page. */ in console_init()
203 console_ring.used = 0; in console_init()
204 console_ring.nreserved = 0; in console_init()
205 console_ring.read_ptr = console_ring.buffer; in console_init()
206 console_ring.write_ptr = console_ring.buffer; in console_init()
208 lck_mtx_init(&console_ring.flush_lock, &console_lck_grp, LCK_ATTR_NULL); in console_init()
209 lck_ticket_init(&console_ring.write_lock, &console_lck_grp); in console_init()
218 return console_ring.len == KERN_CONSOLE_RING_SIZE; in is_console_initialized()
310 lck_ticket_lock(&console_ring.write_lock, &console_lck_grp); in console_ring_reserve_space()
311 if ((console_ring.len - console_ring.used) >= nchars) { in console_ring_reserve_space()
312 console_ring.used += nchars; in console_ring_reserve_space()
314 os_atomic_inc(&console_ring.nreserved, relaxed); in console_ring_reserve_space()
317 write_ptr = console_ring.write_ptr; in console_ring_reserve_space()
320 const ptrdiff_t write_index = console_ring.write_ptr - console_ring.buffer; in console_ring_reserve_space()
321 console_ring.write_ptr = console_ring.buffer + ((write_index + nchars) % console_ring.len); in console_ring_reserve_space()
323 lck_ticket_unlock(&console_ring.write_lock); in console_ring_reserve_space()
337 assert(console_ring.nreserved > 0); in console_ring_unreserve_space()
339 os_atomic_dec(&console_ring.nreserved, relaxed); in console_ring_unreserve_space()
359 assert(console_ring.nreserved > 0); in console_ring_put()
362 if ((*write_ptr - console_ring.buffer) == console_ring.len) { in console_ring_put()
363 *write_ptr = console_ring.buffer; in console_ring_put()
404 if (__probable(!in_debugger) && fail_fast && !lck_mtx_try_lock(&console_ring.flush_lock)) { in console_ring_try_empty()
407 lck_mtx_lock(&console_ring.flush_lock); in console_ring_try_empty()
411 lck_ticket_lock(&console_ring.write_lock, &console_lck_grp); in console_ring_try_empty()
418 while (os_atomic_load(&console_ring.nreserved, relaxed) > 0) { in console_ring_try_empty()
424 nchars_out = MIN(console_ring.used, (int)sizeof(flush_buf)); in console_ring_try_empty()
427 size_before_wrap = (int)((console_ring.buffer + console_ring.len) - console_ring.read_ptr); in console_ring_try_empty()
438 memcpy(flush_buf, console_ring.read_ptr, nchars_out); in console_ring_try_empty()
439 const ptrdiff_t read_index = console_ring.read_ptr - console_ring.buffer; in console_ring_try_empty()
440 console_ring.read_ptr = console_ring.buffer + ((read_index + nchars_out) % console_ring.len); in console_ring_try_empty()
441 console_ring.used -= nchars_out; in console_ring_try_empty()
445 lck_ticket_unlock(&console_ring.write_lock); in console_ring_try_empty()
458 lck_mtx_unlock(&console_ring.flush_lock); in console_ring_try_empty()
745 T_ASSERT_EQ_INT(console_ring.len, KERN_CONSOLE_RING_SIZE, "Console ring size is not correct."); in console_serial_test()