misc: adjust formatting
This commit is contained in:
@@ -16,11 +16,14 @@
|
|||||||
causes garbage symbols to be generated.
|
causes garbage symbols to be generated.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define DEFINE(sym, val) \
|
#define DEFINE(sym, val) \
|
||||||
asm volatile("\n.global " #sym "\n.type " #sym ", @object" "\n.set " #sym ", %a0" : : "i" (val))
|
asm volatile("\n.global " #sym "\n.type " #sym \
|
||||||
|
", @object" \
|
||||||
|
"\n.set " #sym ", %a0" \
|
||||||
|
: \
|
||||||
|
: "i"(val))
|
||||||
|
|
||||||
#define OFFSET(sym, str, mem) \
|
#define OFFSET(sym, str, mem) DEFINE(sym, offsetof(str, mem))
|
||||||
DEFINE(sym, offsetof(str, mem))
|
|
||||||
|
|
||||||
static void __used common(void)
|
static void __used common(void)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ size_t ringbuffer_unread(struct ringbuffer *ring_buffer)
|
|||||||
|
|
||||||
if (ring_buffer->r_read_ptr > ring_buffer->r_write_ptr) {
|
if (ring_buffer->r_read_ptr > ring_buffer->r_write_ptr) {
|
||||||
return (ring_buffer->r_size - ring_buffer->r_read_ptr)
|
return (ring_buffer->r_size - ring_buffer->r_read_ptr)
|
||||||
+ ring_buffer->r_write_ptr;
|
+ ring_buffer->r_write_ptr;
|
||||||
} else {
|
} else {
|
||||||
return (ring_buffer->r_write_ptr - ring_buffer->r_read_ptr);
|
return (ring_buffer->r_write_ptr - ring_buffer->r_read_ptr);
|
||||||
}
|
}
|
||||||
@@ -26,7 +26,7 @@ size_t ringbuffer_avail(struct ringbuffer *ring_buffer)
|
|||||||
return ring_buffer->r_read_ptr - ring_buffer->r_write_ptr - 1;
|
return ring_buffer->r_read_ptr - ring_buffer->r_write_ptr - 1;
|
||||||
} else {
|
} else {
|
||||||
return (ring_buffer->r_size - ring_buffer->r_write_ptr)
|
return (ring_buffer->r_size - ring_buffer->r_write_ptr)
|
||||||
+ ring_buffer->r_read_ptr - 1;
|
+ ring_buffer->r_read_ptr - 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -46,7 +46,11 @@ static inline void increment_write(struct ringbuffer *ring_buffer)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t ringbuffer_read(struct ringbuffer *ring_buffer, size_t size, void *p, mango_flags_t flags)
|
size_t ringbuffer_read(
|
||||||
|
struct ringbuffer *ring_buffer,
|
||||||
|
size_t size,
|
||||||
|
void *p,
|
||||||
|
mango_flags_t flags)
|
||||||
{
|
{
|
||||||
if (!ring_buffer) {
|
if (!ring_buffer) {
|
||||||
return 0;
|
return 0;
|
||||||
@@ -59,7 +63,9 @@ size_t ringbuffer_read(struct ringbuffer *ring_buffer, size_t size, void *p, man
|
|||||||
while (collected < size) {
|
while (collected < size) {
|
||||||
spin_lock_irqsave(&ring_buffer->r_lock, &lock_flags);
|
spin_lock_irqsave(&ring_buffer->r_lock, &lock_flags);
|
||||||
while (ringbuffer_unread(ring_buffer) > 0 && collected < size) {
|
while (ringbuffer_unread(ring_buffer) > 0 && collected < size) {
|
||||||
buffer[collected] = ring_buffer->r_buffer[ring_buffer->r_read_ptr];
|
buffer[collected]
|
||||||
|
= ring_buffer
|
||||||
|
->r_buffer[ring_buffer->r_read_ptr];
|
||||||
increment_read(ring_buffer);
|
increment_read(ring_buffer);
|
||||||
collected++;
|
collected++;
|
||||||
}
|
}
|
||||||
@@ -67,7 +73,9 @@ size_t ringbuffer_read(struct ringbuffer *ring_buffer, size_t size, void *p, man
|
|||||||
wakeup_queue(&ring_buffer->r_wait_writers);
|
wakeup_queue(&ring_buffer->r_wait_writers);
|
||||||
|
|
||||||
if (flags & S_NOBLOCK) {
|
if (flags & S_NOBLOCK) {
|
||||||
spin_unlock_irqrestore(&ring_buffer->r_lock, lock_flags);
|
spin_unlock_irqrestore(
|
||||||
|
&ring_buffer->r_lock,
|
||||||
|
lock_flags);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -87,7 +95,11 @@ size_t ringbuffer_read(struct ringbuffer *ring_buffer, size_t size, void *p, man
|
|||||||
return collected;
|
return collected;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t ringbuffer_write(struct ringbuffer *ring_buffer, size_t size, const void *p, mango_flags_t flags)
|
size_t ringbuffer_write(
|
||||||
|
struct ringbuffer *ring_buffer,
|
||||||
|
size_t size,
|
||||||
|
const void *p,
|
||||||
|
mango_flags_t flags)
|
||||||
{
|
{
|
||||||
if (!ring_buffer || !size) {
|
if (!ring_buffer || !size) {
|
||||||
return 0;
|
return 0;
|
||||||
@@ -101,7 +113,8 @@ size_t ringbuffer_write(struct ringbuffer *ring_buffer, size_t size, const void
|
|||||||
spin_lock_irqsave(&ring_buffer->r_lock, &lock_flags);
|
spin_lock_irqsave(&ring_buffer->r_lock, &lock_flags);
|
||||||
|
|
||||||
while (ringbuffer_avail(ring_buffer) > 0 && written < size) {
|
while (ringbuffer_avail(ring_buffer) > 0 && written < size) {
|
||||||
ring_buffer->r_buffer[ring_buffer->r_write_ptr] = buffer[written];
|
ring_buffer->r_buffer[ring_buffer->r_write_ptr]
|
||||||
|
= buffer[written];
|
||||||
increment_write(ring_buffer);
|
increment_write(ring_buffer);
|
||||||
written++;
|
written++;
|
||||||
}
|
}
|
||||||
@@ -109,7 +122,9 @@ size_t ringbuffer_write(struct ringbuffer *ring_buffer, size_t size, const void
|
|||||||
wakeup_queue(&ring_buffer->r_wait_readers);
|
wakeup_queue(&ring_buffer->r_wait_readers);
|
||||||
|
|
||||||
if (flags & S_NOBLOCK) {
|
if (flags & S_NOBLOCK) {
|
||||||
spin_unlock_irqrestore(&ring_buffer->r_lock, lock_flags);
|
spin_unlock_irqrestore(
|
||||||
|
&ring_buffer->r_lock,
|
||||||
|
lock_flags);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ struct cpu_data {
|
|||||||
|
|
||||||
/* maximum number of processor cores that the kernel can support.
|
/* maximum number of processor cores that the kernel can support.
|
||||||
TODO move to build config option */
|
TODO move to build config option */
|
||||||
#define CPU_MAX 128
|
#define CPU_MAX 128
|
||||||
|
|
||||||
#define this_cpu() (ml_cpu_block_get_id(ml_this_cpu()))
|
#define this_cpu() (ml_cpu_block_get_id(ml_this_cpu()))
|
||||||
|
|
||||||
@@ -50,7 +50,7 @@ static inline cycles_t cycles_diff(cycles_t then, cycles_t now)
|
|||||||
return now >= then ? now - then : (CYCLES_MAX - then) + now;
|
return now >= then ? now - then : (CYCLES_MAX - then) + now;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define irq_enable() ml_int_enable()
|
#define irq_enable() ml_int_enable()
|
||||||
#define irq_disable() ml_int_disable()
|
#define irq_disable() ml_int_disable()
|
||||||
|
|
||||||
extern void preempt_disable(void);
|
extern void preempt_disable(void);
|
||||||
|
|||||||
@@ -24,12 +24,21 @@ extern kern_status_t ringbuffer_deinit(struct ringbuffer *buf);
|
|||||||
|
|
||||||
extern size_t ringbuffer_unread(struct ringbuffer *buf);
|
extern size_t ringbuffer_unread(struct ringbuffer *buf);
|
||||||
extern size_t ringbuffer_avail(struct ringbuffer *buf);
|
extern size_t ringbuffer_avail(struct ringbuffer *buf);
|
||||||
extern size_t ringbuffer_read(struct ringbuffer *buf, size_t size, void *buffer, mango_flags_t flags);
|
extern size_t ringbuffer_read(
|
||||||
extern size_t ringbuffer_write(struct ringbuffer *buf, size_t size, const void *buffer, mango_flags_t flags);
|
struct ringbuffer *buf,
|
||||||
|
size_t size,
|
||||||
|
void *buffer,
|
||||||
|
mango_flags_t flags);
|
||||||
|
extern size_t ringbuffer_write(
|
||||||
|
struct ringbuffer *buf,
|
||||||
|
size_t size,
|
||||||
|
const void *buffer,
|
||||||
|
mango_flags_t flags);
|
||||||
|
|
||||||
/* TODO */
|
/* TODO */
|
||||||
//extern size_t ringbuffer_peek(struct ringbuffer *buf, size_t at, size_t size, void *buffer);
|
// extern size_t ringbuffer_peek(struct ringbuffer *buf, size_t at, size_t size,
|
||||||
//extern size_t ringbuffer_skip(struct ringbuffer *buf, size_t count);
|
// void *buffer); extern size_t ringbuffer_skip(struct ringbuffer *buf, size_t
|
||||||
|
// count);
|
||||||
|
|
||||||
extern int ringbuffer_write_would_block(struct ringbuffer *buf);
|
extern int ringbuffer_write_would_block(struct ringbuffer *buf);
|
||||||
|
|
||||||
|
|||||||
@@ -49,8 +49,12 @@ static void worker_func()
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct queue_entry *work_item_qe = queue_pop_front(&this_cpu->c_wq.wq_queue);
|
struct queue_entry *work_item_qe
|
||||||
struct work_item *work_item = QUEUE_CONTAINER(struct work_item, w_head, work_item_qe);
|
= queue_pop_front(&this_cpu->c_wq.wq_queue);
|
||||||
|
struct work_item *work_item = QUEUE_CONTAINER(
|
||||||
|
struct work_item,
|
||||||
|
w_head,
|
||||||
|
work_item_qe);
|
||||||
spin_unlock_irqrestore(&this_cpu->c_wq.wq_lock, flags);
|
spin_unlock_irqrestore(&this_cpu->c_wq.wq_lock, flags);
|
||||||
put_cpu(this_cpu);
|
put_cpu(this_cpu);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user