|
|
@@ -69,6 +69,25 @@ static inline struct ap_queue_status ap_rapq(ap_qid_t qid)
|
|
|
return reg1;
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * ap_pqap_zapq(): Reset and zeroize adjunct processor queue.
|
|
|
+ * @qid: The AP queue number
|
|
|
+ *
|
|
|
+ * Returns AP queue status structure.
|
|
|
+ */
|
|
|
+static inline struct ap_queue_status ap_zapq(ap_qid_t qid)
|
|
|
+{
|
|
|
+ register unsigned long reg0 asm ("0") = qid | (2UL << 24);
|
|
|
+ register struct ap_queue_status reg1 asm ("1");
|
|
|
+
|
|
|
+ asm volatile(
|
|
|
+ ".long 0xb2af0000" /* PQAP(ZAPQ) */
|
|
|
+ : "=d" (reg1)
|
|
|
+ : "d" (reg0)
|
|
|
+ : "cc");
|
|
|
+ return reg1;
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* ap_aqic(): Control interruption for a specific AP.
|
|
|
* @qid: The AP queue number
|