Remove nosv code in favor of the thread type
This commit is contained in:
		
							parent
							
								
									41211eec8a
								
							
						
					
					
						commit
						5dc195a037
					
				| @ -63,8 +63,12 @@ VAW	Exits nosv_waitfor() | ||||
| VAc	Enters nosv_schedpoint() | ||||
| VAC	Exits nosv_schedpoint() | ||||
| 
 | ||||
| VC[	Begins executing nosv code | ||||
| VC]	Ends executing nosv code | ||||
| VHa	Enters nosv_attach() | ||||
| VHA	Exits nosv_detach() | ||||
| VHw	Begins the execution as a worker | ||||
| VHW	Ends the execution as a worker | ||||
| VHd	Begins the execution as the delegate | ||||
| VHD	Ends the execution as the delegate | ||||
| 
 | ||||
| -------------------- TAMPI (model=T) ---------------------- | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										4
									
								
								emu.h
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								emu.h
									
									
									
									
									
								
							| @ -72,12 +72,14 @@ enum nosv_ss_values { | ||||
| 	ST_NOSV_MEM_ALLOCATING, | ||||
| 	ST_NOSV_MEM_FREEING, | ||||
| 	ST_NOSV_TASK_RUNNING, | ||||
| 	ST_NOSV_CODE, | ||||
| 	ST_NOSV_API_SUBMIT, | ||||
| 	ST_NOSV_API_PAUSE, | ||||
| 	ST_NOSV_API_YIELD, | ||||
| 	ST_NOSV_API_WAITFOR, | ||||
| 	ST_NOSV_API_SCHEDPOINT, | ||||
| 	ST_NOSV_ATTACH, | ||||
| 	ST_NOSV_WORKER, | ||||
| 	ST_NOSV_DELEGATE, | ||||
| 
 | ||||
| 	EV_NOSV_SCHED_RECV, | ||||
| 	EV_NOSV_SCHED_SEND, | ||||
|  | ||||
							
								
								
									
										23
									
								
								emu_nosv.c
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								emu_nosv.c
									
									
									
									
									
								
							| @ -411,6 +411,27 @@ pre_mem(struct ovni_emu *emu) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| pre_thread_type(struct ovni_emu *emu) | ||||
| { | ||||
| 	struct ovni_ethread *th; | ||||
| 	struct ovni_chan *chan_th; | ||||
| 
 | ||||
| 	th = emu->cur_thread; | ||||
| 	chan_th = &th->chan[CHAN_NOSV_SUBSYSTEM]; | ||||
| 
 | ||||
| 	switch(emu->cur_ev->header.value) | ||||
| 	{ | ||||
| 		case 'a': chan_push(chan_th, ST_NOSV_ATTACH); break; | ||||
| 		case 'A': chan_pop (chan_th, ST_NOSV_ATTACH); break; | ||||
| 		case 'w': chan_push(chan_th, ST_NOSV_WORKER); break; | ||||
| 		case 'W': chan_pop (chan_th, ST_NOSV_WORKER); break; | ||||
| 		case 'd': chan_push(chan_th, ST_NOSV_DELEGATE); break; | ||||
| 		case 'D': chan_pop (chan_th, ST_NOSV_DELEGATE); break; | ||||
| 		default: break; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| pre_ss(struct ovni_emu *emu, int st) | ||||
| { | ||||
| @ -453,7 +474,7 @@ hook_pre_nosv(struct ovni_emu *emu) | ||||
| 		case 'S': pre_sched(emu); break; | ||||
| 		case 'U': pre_ss(emu, ST_NOSV_SCHED_SUBMITTING); break; | ||||
| 		case 'M': pre_mem(emu); break; | ||||
| 		case 'C': pre_ss(emu, ST_NOSV_CODE); break; | ||||
| 		case 'H': pre_thread_type(emu); break; | ||||
| 		case 'A': pre_api(emu); break; | ||||
| 		default: | ||||
| 			break; | ||||
|  | ||||
							
								
								
									
										4
									
								
								pcf.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								pcf.c
									
									
									
									
									
								
							| @ -286,7 +286,6 @@ struct event_value nosv_ss_values[] = { | ||||
| 	{ ST_NOSV_SCHED_SERVING,        "Scheduler: Serving" }, | ||||
| 	{ ST_NOSV_SCHED_SUBMITTING,     "Scheduler: Submitting" }, | ||||
| 	{ ST_NOSV_TASK_RUNNING,         "Task: Running" }, | ||||
| 	{ ST_NOSV_CODE,                 "nOS-V code" }, | ||||
| 	{ ST_NOSV_MEM_ALLOCATING,       "Memory: Allocating" }, | ||||
| 	{ ST_NOSV_MEM_FREEING,          "Memory: Freeing" }, | ||||
| 	{ ST_NOSV_API_SUBMIT,           "API: Submit" }, | ||||
| @ -294,6 +293,9 @@ struct event_value nosv_ss_values[] = { | ||||
| 	{ ST_NOSV_API_YIELD,            "API: Yield" }, | ||||
| 	{ ST_NOSV_API_WAITFOR,          "API: Waitfor" }, | ||||
| 	{ ST_NOSV_API_SCHEDPOINT,       "API: Scheduling point" }, | ||||
| 	{ ST_NOSV_ATTACH,               "Thread: Attached" }, | ||||
| 	{ ST_NOSV_WORKER,               "Thread: Worker" }, | ||||
| 	{ ST_NOSV_DELEGATE,             "Thread: Delegate" }, | ||||
| 	{ EV_NOSV_SCHED_SEND,           "EV Scheduler: Send task" }, | ||||
| 	{ EV_NOSV_SCHED_RECV,           "EV Scheduler: Recv task" }, | ||||
| 	{ EV_NOSV_SCHED_SELF,           "EV Scheduler: Self-assign task" }, | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user