]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/i386/commpage/fifo_queues.s
xnu-3789.1.32.tar.gz
[apple/xnu.git] / osfmk / i386 / commpage / fifo_queues.s
index fa2bbf82c483b9e98b15998e977ecc7a587463f8..81c041ae406480509ab808d5d8a99df86144b87b 100644 (file)
@@ -56,6 +56,9 @@
  * But we still must take a spinlock to serialize, and in case of page faults.
  */
 
+/* Work around 10062261 with a dummy non-local symbol */
+fifo_queue_dummy_symbol:       
+
 /*
  *     typedef volatile struct {
  *             void    *opaque1;  <-- ptr to first queue element or null
@@ -80,7 +83,7 @@ COMMPAGE_FUNCTION_START(preempt, 32, 4)
        movl    $(-58),%eax     /* 58 = pfz_exit */
        xorl    %ebx,%ebx       // clear "preemption pending" flag
        sysenter
-COMMPAGE_DESCRIPTOR(preempt,_COMM_PAGE_PREEMPT,0,0)
+COMMPAGE_DESCRIPTOR(preempt,_COMM_PAGE_PREEMPT)
 
 
 /* Subroutine to back off if we cannot get the spinlock.  Called
@@ -104,7 +107,7 @@ COMMPAGE_FUNCTION_START(backoff, 32, 4)
        cmpl    $0,8(%edi)      // sniff the lockword
        jnz     1b              // loop if still taken
        ret                     // lockword is free, so reenter PFZ
-COMMPAGE_DESCRIPTOR(backoff,_COMM_PAGE_BACKOFF,0,0)
+COMMPAGE_DESCRIPTOR(backoff,_COMM_PAGE_BACKOFF)
 
 
 /* Preemption-free-zone routine to FIFO Enqueue:
@@ -149,7 +152,7 @@ COMMPAGE_FUNCTION_START(pfz_enqueue, 32, 4)
        movl        %esi,4(%edi)    // new element becomes last in q
        movl        $0,8(%edi)      // unlock spinlock
        ret
-COMMPAGE_DESCRIPTOR(pfz_enqueue,_COMM_PAGE_PFZ_ENQUEUE,0,0)
+COMMPAGE_DESCRIPTOR(pfz_enqueue,_COMM_PAGE_PFZ_ENQUEUE)
 
 
 /* Preemption-free-zone routine to FIFO Dequeue:
@@ -195,7 +198,7 @@ COMMPAGE_FUNCTION_START(pfz_dequeue, 32, 4)
 4:
        movl        $0,8(%edi)      // unlock spinlock
        ret
-COMMPAGE_DESCRIPTOR(pfz_dequeue,_COMM_PAGE_PFZ_DEQUEUE,0,0)
+COMMPAGE_DESCRIPTOR(pfz_dequeue,_COMM_PAGE_PFZ_DEQUEUE)
 
 
 
@@ -230,7 +233,7 @@ COMMPAGE_FUNCTION_START(preempt_64, 64, 4)
        popq    %rcx
        popq    %rax
        ret
-COMMPAGE_DESCRIPTOR(preempt_64,_COMM_PAGE_PREEMPT,0,0)
+COMMPAGE_DESCRIPTOR(preempt_64,_COMM_PAGE_PREEMPT)
 
 
 /* Subroutine to back off if we cannot get the spinlock.  Called
@@ -249,7 +252,7 @@ COMMPAGE_FUNCTION_START(backoff_64, 64, 4)
        cmpl    $0,16(%rdi)     // sniff the lockword
        jnz     1b              // loop if still taken
        ret                     // lockword is free, so reenter PFZ
-COMMPAGE_DESCRIPTOR(backoff_64,_COMM_PAGE_BACKOFF,0,0)
+COMMPAGE_DESCRIPTOR(backoff_64,_COMM_PAGE_BACKOFF)
 
 
 /* Preemption-free-zone routine to FIFO Enqueue:
@@ -294,7 +297,7 @@ COMMPAGE_FUNCTION_START(pfz_enqueue_64, 64, 4)
        movq        %rsi,8(%rdi)    // new element becomes last in q
        movl        $0,16(%rdi)     // unlock spinlock
        ret
-COMMPAGE_DESCRIPTOR(pfz_enqueue_64,_COMM_PAGE_PFZ_ENQUEUE,0,0)
+COMMPAGE_DESCRIPTOR(pfz_enqueue_64,_COMM_PAGE_PFZ_ENQUEUE)
 
 
 
@@ -341,4 +344,4 @@ COMMPAGE_FUNCTION_START(pfz_dequeue_64, 64, 4)
 4:
        movl        $0,16(%rdi)     // unlock spinlock
        ret
-COMMPAGE_DESCRIPTOR(pfz_dequeue_64,_COMM_PAGE_PFZ_DEQUEUE,0,0)
+COMMPAGE_DESCRIPTOR(pfz_dequeue_64,_COMM_PAGE_PFZ_DEQUEUE)