c51cd5fe91
Before safecopies, the IO_ENDPT and DL_ENDPT message fields were needed to know which actual process to copy data from/to, as that process may not always be the caller. Now that we have full safecopy support, these fields have become useless for that purpose: the owner of the grant is *always* the caller. Allowing the caller to supply another endpoint is in fact dangerous, because the callee may then end up using a grant from a third party. One could call this a variant of the confused deputy problem. From now on, safecopy calls should always use the caller's endpoint as grant owner. This fully obsoletes the DL_ENDPT field in the inet/ethernet protocol. IO_ENDPT has other uses besides identifying the grant owner though. This patch renames IO_ENDPT to USER_ENDPT, not only because that is a more fitting name (it should never be used for I/O after all), but also in order to intentionally break any old system source code outside the base system. If this patch breaks your code, fixing it is fairly simple: - DL_ENDPT should be replaced with m_source; - IO_ENDPT should be replaced with m_source when used for safecopies; - IO_ENDPT should be replaced with USER_ENDPT for any other use, e.g. when setting REP_ENDPT, matching requests in CANCEL calls, getting DEV_SELECT flags, and retrieving of the real user process's endpoint in DEV_OPEN. The changes in this patch are binary backward compatible. |
||
---|---|---|
.. | ||
dec21140A.c | ||
dec21140A.h | ||
Makefile | ||
README.txt |
README file for the Dec21140A ethernet board driver as emulated by Microsoft VirtualPC 2007. created August 2009, Nicolas Tittley (first.last@gmail) LIMITATIONS: ------------ This driver supports only the Dec21140A as emulated by VPC2007. It is untested in any other environment and will probably panic if you use it outside VPC2007. The driver supports bridged, nat and local network settings. See the next section for a remark on seting up a nat environment. Only one card can be used at a time, do not activate multiple network cards in VPC2007, the driver will panic. NOTE FOR USERS CONFIGURING VPC2007 TO USE NAT: in /usr/etc/rc comment out the following three lines: trap '' 2 intr -t 20 hostaddr -h trap 2 VPC2007 does not play well with hostaddr and it will hang the boot process until you CTRL-C out of it.