problems with iRCCE_memcpy_put

This commit is contained in:
Generic account for RWTHAachen Students 2011-08-18 02:07:42 -07:00
parent c0f9747c67
commit ad2d1e4a3d
3 changed files with 8 additions and 4 deletions

View file

@ -438,13 +438,14 @@ int iRCCE_mail_send(
RC_cache_invalidate();
iRCCE_memcpy_put( (void*)iRCCE_mailbox_send[dest],
(void*)&header, RCCE_LINE_SIZE );
// set senders flag
RC_cache_invalidate();
iRCCE_mailbox_send[dest]->sent = RCCE_FLAG_SET;
*(int *)RCCE_fool_write_combine_buffer = 1;
RC_cache_invalidate();
RCCE_release_lock( dest );
/* enable interrupts */

View file

@ -230,7 +230,7 @@ int icc_halt(void)
#define ROUNDS 1000
#define CORE_A 0 // sender
#define CORE_B 11 // receiver
#define CORE_B 1 // receiver
int icc_send_gic_irq(int core_num) {
@ -264,10 +264,12 @@ static inline void icc_mail_check_tag(iRCCE_MAIL_HEADER* mail) {
break;
case PING_REQ:
kprintf( "icc_mail_check_tag: ping_req\n" );
iRCCE_mail_send(0, PING_RESP, 0, NULL, mail->source);
break;
default:
kprintf( "icc_mail_check_tag: uknown tag id %d\n", mail->tag );
break;
}
@ -469,6 +471,8 @@ void icc_mail_check(int irq)
flags = irq_nested_disable();
if( irq == 1 ) {
kprintf( "hello from gic irq" );
/* read status register */
irq_status_reg = (volatile uint64_t*)(FPGA_BASE + IRQ_STATUS + my_ue*8);
irq_status = *irq_status_reg;

View file

@ -104,8 +104,7 @@ static int mail_ping(void* arg) {
// icc_mail_ping();
icc_mail_ping_irq();
// icc_irq_ping();
// icc_halt();
kprintf( "goodbye from mail_ping_task" );
icc_halt();
return 0;
}