|
From: Julian S. <js...@ac...> - 2015-04-08 08:40:53
|
On 08/04/15 09:52, Petar Jovanovic wrote: > In order to set that boolean field correctly, at each point in which we > create SysRes, we need to know for which system call SysRes was created. > Similar solution - that would likely require similar number of changes - > would be to have SysRes carry its system call number. I agree. It may be however that there are not many places where we construct a SysRes. I'll have a look at it. The reason I favour this solution is that, until now, SysRes has been an object that holds the (non-memory) results of a syscall, and can answer the following questions: 1. Did the syscall fail and if so what are the error-code bits? 2. Did the syscall succeed and if so what are the result bits? 3. Are you the same as this other SysRes ? But with the mips-pipe problem, SysRes can no longer reliably answer (2) or (3), because we don't know whether _valEx is part of the result bits or not. Hence we basically break the interface to this type. FWIW, the Darwin version of SysRes already contains similar machinery so as to make (1) (2) and (3) work reliably. So I don't think it's a big problem to do something similar for mips. Are there any community machines still alive, that I can try this out on? J |