Merge in 2.0.2.
This commit is contained in:
@@ -74,24 +74,21 @@ struct cpu {
|
||||
* Accessed by other cpus.
|
||||
* Protected by the IPI lock.
|
||||
*
|
||||
* If c_numshootdown is -1 (TLBSHOOTDOWN_ALL), all mappings
|
||||
* should be invalidated. This is used if more than
|
||||
* TLBSHOOTDOWN_MAX mappings are going to be invalidated at
|
||||
* once. TLBSHOOTDOWN_MAX is MD and chosen based on when it
|
||||
* becomes more efficient just to flush the whole TLB.
|
||||
* TLB shootdown requests made to this CPU are queued in
|
||||
* c_shootdown[], with c_numshootdown holding the number of
|
||||
* requests. TLBSHOOTDOWN_MAX is the maximum number that can
|
||||
* be queued at once, which is machine-dependent.
|
||||
*
|
||||
* struct tlbshootdown is machine-dependent and might
|
||||
* reasonably be either an address space and vaddr pair, or a
|
||||
* paddr, or something else.
|
||||
* The contents of struct tlbshootdown are also machine-
|
||||
* dependent and might reasonably be either an address space
|
||||
* and vaddr pair, or a paddr, or something else.
|
||||
*/
|
||||
uint32_t c_ipi_pending; /* One bit for each IPI number */
|
||||
struct tlbshootdown c_shootdown[TLBSHOOTDOWN_MAX];
|
||||
int c_numshootdown;
|
||||
unsigned c_numshootdown;
|
||||
struct spinlock c_ipi_lock;
|
||||
};
|
||||
|
||||
#define TLBSHOOTDOWN_ALL (-1)
|
||||
|
||||
/*
|
||||
* Initialization functions.
|
||||
*
|
||||
|
@@ -34,7 +34,7 @@
|
||||
* Leave this alone, so we can tell what version of the OS/161 base
|
||||
* code we gave you.
|
||||
*/
|
||||
#define BASE_VERSION "2.0.1"
|
||||
#define BASE_VERSION "2.0.2"
|
||||
|
||||
/*
|
||||
* Change this as you see fit in the course of hacking the system.
|
||||
|
@@ -156,6 +156,13 @@ int vfs_getcwd(struct uio *buf);
|
||||
* vfs_unmount - Unmount the filesystem presently mounted on the
|
||||
* specified device.
|
||||
*
|
||||
* vfs_swapon - Look up DEVNAME and mark it as a swap device,
|
||||
* returning a vnode. Similar to vfs_mount.
|
||||
*
|
||||
* vfs_swapoff - Unmark DEVNAME as a swap device. The vnode
|
||||
* previously returned by vfs_swapon should be
|
||||
* decref'd first. Similar to vfs_unmount.
|
||||
*
|
||||
* vfs_unmountall - Unmount all mounted filesystems.
|
||||
*/
|
||||
|
||||
@@ -172,6 +179,8 @@ int vfs_mount(const char *devname, void *data,
|
||||
struct device *dev,
|
||||
struct fs **result));
|
||||
int vfs_unmount(const char *devname);
|
||||
int vfs_swapon(const char *devname, struct vnode **result);
|
||||
int vfs_swapoff(const char *devname);
|
||||
int vfs_unmountall(void);
|
||||
|
||||
/*
|
||||
|
@@ -56,7 +56,6 @@ vaddr_t alloc_kpages(unsigned npages);
|
||||
void free_kpages(vaddr_t addr);
|
||||
|
||||
/* TLB shootdown handling called from interprocessor_interrupt */
|
||||
void vm_tlbshootdown_all(void);
|
||||
void vm_tlbshootdown(const struct tlbshootdown *);
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user