Lines Matching refs:mqd

545 int gru_create_message_queue(struct gru_message_queue_desc *mqd,  in gru_create_message_queue()  argument
561 mqd->mq = mq; in gru_create_message_queue()
562 mqd->mq_gpa = uv_gpa(mq); in gru_create_message_queue()
563 mqd->qlines = qlines; in gru_create_message_queue()
564 mqd->interrupt_pnode = nasid >> 1; in gru_create_message_queue()
565 mqd->interrupt_vector = vector; in gru_create_message_queue()
566 mqd->interrupt_apicid = apicid; in gru_create_message_queue()
579 static int send_noop_message(void *cb, struct gru_message_queue_desc *mqd, in send_noop_message() argument
591 gru_mesq(cb, mqd->mq_gpa, gru_get_tri(mhdr), 1, IMA); in send_noop_message()
615 m = mqd->mq_gpa + (gru_get_amo_value_head(cb) << 6); in send_noop_message()
637 static int send_message_queue_full(void *cb, struct gru_message_queue_desc *mqd, in send_message_queue_full() argument
650 qlines = mqd->qlines; in send_message_queue_full()
659 gru_gamir(cb, EOP_IR_CLR, HSTATUS(mqd->mq_gpa, half), XTYPE_DW, IMA); in send_message_queue_full()
669 if (send_noop_message(cb, mqd, mesg)) { in send_message_queue_full()
670 gru_gamir(cb, EOP_IR_INC, HSTATUS(mqd->mq_gpa, half), in send_message_queue_full()
681 gru_gamer(cb, EOP_ERR_CSWAP, mqd->mq_gpa, XTYPE_DW, mqh.val, avalue, in send_message_queue_full()
689 gru_gamir(cb, EOP_IR_INC, HSTATUS(mqd->mq_gpa, half), XTYPE_DW, in send_message_queue_full()
706 static int send_message_put_nacked(void *cb, struct gru_message_queue_desc *mqd, in send_message_put_nacked() argument
712 m = mqd->mq_gpa + (gru_get_amo_value_head(cb) << 6); in send_message_put_nacked()
722 if (!mqd->interrupt_vector) in send_message_put_nacked()
734 ret = send_noop_message(cb, mqd, mesg); in send_message_put_nacked()
754 static int send_message_failure(void *cb, struct gru_message_queue_desc *mqd, in send_message_failure() argument
771 ret = send_message_queue_full(cb, mqd, mesg, lines); in send_message_failure()
779 ret = send_message_put_nacked(cb, mqd, mesg, lines); in send_message_failure()
796 int gru_send_message_gpa(struct gru_message_queue_desc *mqd, void *mesg, in gru_send_message_gpa() argument
821 gru_mesq(cb, mqd->mq_gpa, gru_get_tri(mhdr), clines, IMA); in gru_send_message_gpa()
824 ret = send_message_failure(cb, mqd, dsr, clines); in gru_send_message_gpa()
837 void gru_free_message(struct gru_message_queue_desc *mqd, void *mesg) in gru_free_message() argument
839 struct message_queue *mq = mqd->mq; in gru_free_message()
869 void *gru_get_next_message(struct gru_message_queue_desc *mqd) in gru_get_next_message() argument
871 struct message_queue *mq = mqd->mq; in gru_get_next_message()
877 gru_free_message(mqd, mhdr); in gru_get_next_message()
997 struct gru_message_queue_desc mqd; in quicktest1() local
1009 gru_create_message_queue(&mqd, mq, 8 * GRU_CACHE_LINE_BYTES, 0, 0, 0); in quicktest1()
1013 ret = gru_send_message_gpa(&mqd, mes, sizeof(mes)); in quicktest1()
1025 m = gru_get_next_message(&mqd); in quicktest1()
1028 gru_free_message(&mqd, m); in quicktest1()