Correct the event queue initialization.

This fixes operation on Rocket Core.

Sponsored by:	DARPA, AFRL
Sponsored by:	HEIF5
This commit is contained in:
br 2016-04-22 15:04:46 +00:00
parent ca977737eb
commit 49a47991fb

View File

@ -73,18 +73,19 @@
sd t1, 8(t0) /* zero used */
mv t2, t0
mv t3, t0
li t5, (HTIF_RING_SIZE - HTIF_RING_ENTRY_SZ)
li t5, (HTIF_RING_SIZE)
li t6, 0
add t4, t0, t5
1:
addi t3, t3, 24 /* pointer to next */
beq t3, t4, 2f /* finish */
sd t3, 16(t2) /* store pointer */
addi t2, t2, 24 /* next entry */
addi t6, t6, 1 /* counter */
addi t3, t3, HTIF_RING_ENTRY_SZ /* pointer to next */
beq t3, t4, 2f /* finish */
sd t3, 16(t2) /* store pointer */
addi t2, t2, HTIF_RING_ENTRY_SZ /* next entry */
addi t6, t6, 1 /* counter */
j 1b
2:
sd t0, 16(t3) /* last -> first */
addi t3, t3, -HTIF_RING_ENTRY_SZ
sd t0, 16(t3) /* last -> first */
li t2, (HTIF_RING_SIZE)
add s0, t0, t2