• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /barrelfish-2018-10-04/lib/net_queue_manager/

Lines Matching refs:buffer

162     // and I should validate the buffer types
238 // Client and buffer management code
254 struct buffer_descriptor *buffer =
256 if (buffer == NULL) {
261 memset(buffer, 0, sizeof(struct buffer_descriptor));
272 cc->buffer_ptr = buffer;
290 // populates the given buffer with given capref
292 struct buffer_descriptor *buffer, struct capref cap)
295 buffer->cap = cap;
302 buffer->pa = pa.base;
303 buffer->bytes = pa.bytes;
305 err = vspace_map_one_frame(&buffer->va, buffer->bytes, cap,
309 err = vspace_map_one_frame_attr(&buffer->va, (1L << buffer->bits), cap,
319 buffer->buffer_id = closure->buffer_id;
320 // printf("### buffer gets id %"PRIu64"\n", buffer->buffer_id);
321 buffer->next = buffers_list;
322 // Adding the buffer on the top of buffer list.
323 // buffers_list = buffer;
328 // Find buffer in the list of all registered buffer using buffer_id
339 printf("Could not find buffer with id %"PRIu64"\n", buffer_id);
357 ETHERSRV_DEBUG("ethersrv:register buffer called \n");
363 struct buffer_descriptor *buffer = closure->buffer_ptr;
364 err = populate_buffer(closure, buffer, cap);
367 buffer->role = closure->role;
368 buffer->device_queue = (struct devq *)q;
369 buffer->queueid = exported_queueid;
377 uint64_t slots = buffer->bytes / 2048;
378 buffer->rxq.buffer_state_size = slots;
379 buffer->rxq.buffer_state = calloc(slots,
381 assert(buffer->rxq.buffer_state != NULL);
382 buffer->rxq.buffer_state_head = 0;
383 buffer->rxq.buffer_state_used = 0;
386 buffer->txq.buffer_state_size = slots;
387 buffer->txq.buffer_state = calloc(slots,
389 assert(buffer->txq.buffer_state != NULL);
390 buffer->txq.buffer_state_head = 0;
391 buffer->txq.buffer_state_used = 0;
401 buffers_list = buffer;
481 struct buffer_descriptor *buffer = cl->buffer_ptr;
483 assert((buffer->txq.buffer_state_used > 0));
484 --buffer->txq.buffer_state_used;
569 * buffer.
572 bool copy_packet_to_user(struct buffer_descriptor *buffer,
580 assert(buffer != NULL);
581 struct devq *q = buffer->device_queue;
587 if(buffer->rxq.buffer_state_used == 0) {
592 buffer->buffer_id, buffer->rxq.buffer_state_size,
593 buffer->rxq.buffer_state_used, sent_packets, rx_added);
601 // pop the latest buffer from head of queue (this is stack)
602 --buffer->rxq.buffer_state_head;
603 struct buffer_state_metadata *bsm = buffer->rxq.buffer_state +
604 buffer->rxq.buffer_state_head;
607 --buffer->rxq.buffer_state_used;
609 assert(offset < buffer->bytes);
610 void *dst = (void *) (uintptr_t) buffer->va + offset;
612 ETHERSRV_DEBUG("Copy packet pos %p %p %p\n", buffer->va, dst,
613 (buffer->va + buffer->bytes));
654 struct buffer_descriptor *buffer = cl->buffer_ptr;
659 paddr = ((uint64_t)(uintptr_t) buffer->pa) + offset;
660 vaddr = (void*) ((uintptr_t) buffer->va + (size_t)offset);
664 assert(buffer->txq.buffer_state_used < (buffer->txq.buffer_state_size - 1));
667 struct buffer_state_metadata *bsm = buffer->txq.buffer_state +
668 buffer->txq.buffer_state_head;
669 buffer->txq.buffer_state_head = (buffer->txq.buffer_state_head + 1)
670 % buffer->txq.buffer_state_size;
673 ++buffer->txq.buffer_state_used;
704 struct buffer_descriptor *buffer = cl->buffer_ptr;
708 paddr = ((uint64_t)(uintptr_t) buffer->pa) + offset;
709 vaddr = (void*) ((uintptr_t) buffer->va + (size_t)offset);
713 USER_PANIC("broken buffer registerd with for RX buffer\n");
717 assert(buffer->rxq.buffer_state_used <
718 (buffer->rxq.buffer_state_size - 1));
721 struct buffer_state_metadata *bsm = buffer->rxq.buffer_state +
722 buffer->rxq.buffer_state_head;
723 buffer->rxq.buffer_state_head = (buffer->rxq.buffer_state_head + 1)
724 % buffer->rxq.buffer_state_size;
727 ++buffer->rxq.buffer_state_used;
803 // struct buffer_descriptor *buffer = cc->buffer_ptr;
805 // assert(buffer != NULL);
806 // free(buffer);
910 printf("using %zd slots for internal buffer\n", driver_supported_buffers);
984 // struct buffer_descriptor *buffer;
987 // for (buffer = buffers_list; buffer != NULL; buffer = buffer->next) {
988 // err = vspace_unmap(buffer->va);
990 // err = cap_delete(buffer->cap);