continuous quality management
This commit is contained in:
parent
ef2185247d
commit
ab4cedb593
2
asm.h
2
asm.h
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// macros to create x86 segments from assembler
|
||||
// assembler macros to create x86 segments
|
||||
//
|
||||
|
||||
#define SEG_NULLASM \
|
||||
|
|
|
@ -20,8 +20,8 @@ initlock(struct spinlock *lock, char *name)
|
|||
|
||||
// Acquire the lock.
|
||||
// Loops (spins) until the lock is acquired.
|
||||
// (Because contention is handled by spinning,
|
||||
// must not go to sleep holding any locks.)
|
||||
// Holding a lock for a long time may cause
|
||||
// other CPUs to waste time spinning to acquire it.
|
||||
void
|
||||
acquire(struct spinlock *lock)
|
||||
{
|
||||
|
|
6
x86.h
6
x86.h
|
@ -1,5 +1,4 @@
|
|||
// Special assembly routines to access x86-specific
|
||||
// hardware instructions.
|
||||
// Routines to let C code use special x86 instructions.
|
||||
|
||||
static inline uchar
|
||||
inb(ushort port)
|
||||
|
@ -131,7 +130,8 @@ sti(void)
|
|||
asm volatile("sti");
|
||||
}
|
||||
|
||||
// Layout of the trap frame on the stack upon entry to trap.
|
||||
// Layout of the trap frame built on the stack by the
|
||||
// hardware and by trapasm.S, and passed to trap().
|
||||
struct trapframe {
|
||||
// registers as pushed by pusha
|
||||
uint edi;
|
||||
|
|
Loading…
Reference in a new issue