shithub: front

Download patch

ref: f73fb96cb2c0136b019540b6ac0d76be57ea7d49
parent: 9a912b05ebddfd833b9e987326e3a15bf1db8b38
author: mia soweli <mia@soweli.net>
date: Fri Jun 6 12:00:55 EDT 2025

v[al]: add SYNC (memory barrier)

--- a/sys/src/cmd/va/lex.c
+++ b/sys/src/cmd/va/lex.c
@@ -343,6 +343,7 @@
 	"REMU",		LTYPE6, AREMU,
 	"RET",		LTYPE4, ARET,
 	"SYSCALL",	LTYPE4, ASYSCALL,
+	"SYNC",		LTYPE4, ASYNC,
 	"TLBP",		LTYPE4, ATLBP,
 	"TLBR",		LTYPE4, ATLBR,
 	"TLBWI",	LTYPE4, ATLBWI,
--- a/sys/src/cmd/vc/v.out.h
+++ b/sys/src/cmd/vc/v.out.h
@@ -157,6 +157,7 @@
 
 	ALL,
 	ASC,
+	ASYNC,
 
 	ALAST,
 };
--- a/sys/src/cmd/vl/asm.c
+++ b/sys/src/cmd/vl/asm.c
@@ -1360,6 +1360,7 @@
 
 	case ABREAK:	return OP(1,5);
 	case ASYSCALL:	return OP(1,4);
+	case ASYNC:	return OP(1,7);
 	case ATLBP:	return MMU(1,0);
 	case ATLBR:	return MMU(0,1);
 	case ATLBWI:	return MMU(0,2);
--- a/sys/src/cmd/vl/optab.c
+++ b/sys/src/cmd/vl/optab.c
@@ -229,7 +229,7 @@
 	{ ABCASE,	C_LCON,	C_NONE,	C_LBRA,		 46, 4, 0 },
 
 	{ ALL,		C_REG,	C_NONE,	C_SOREG,	 7, 4, REGZERO },
-	{ ASC,		C_REG,	C_NONE,	C_SOREG,	 7, 4, REGZERO }, 
+	{ ASC,		C_REG,	C_NONE,	C_SOREG,	 7, 4, REGZERO },
 
 	{ AXXX,		C_NONE,	C_NONE,	C_NONE,		 0, 4, 0 },
 };
--- a/sys/src/cmd/vl/span.c
+++ b/sys/src/cmd/vl/span.c
@@ -584,6 +584,7 @@
 			oprange[ATLBR] = oprange[r];
 			oprange[ATLBWI] = oprange[r];
 			oprange[ATLBWR] = oprange[r];
+			oprange[ASYNC] = oprange[r];
 			break;
 		case ACMPEQF:
 			oprange[ACMPGTF] = oprange[r];
--