Lines Matching full:csb
52 * Update the CSB to indicate a translation error.
54 * User space will be polling on CSB after the request is issued.
55 * If NX can handle the request without any issues, it updates CSB.
57 * fault and update CSB with translation error.
59 * If we are unable to update the CSB means copy_to_user failed due to
65 struct coprocessor_status_block csb; in update_csb() local
81 memset(&csb, 0, sizeof(csb)); in update_csb()
82 csb.cc = CSB_CC_FAULT_ADDRESS; in update_csb()
83 csb.ce = CSB_CE_TERMINATION; in update_csb()
84 csb.cs = 0; in update_csb()
85 csb.count = 0; in update_csb()
92 csb.address = crb->stamp.nx.fault_storage_addr; in update_csb()
93 csb.flags = 0; in update_csb()
103 * pages faults on these requests. Update CSB with translation in update_csb()
131 rc = copy_to_user(csb_addr, &csb, sizeof(csb)); in update_csb()
133 * User space polls on csb.flags (first byte). So add barrier in update_csb()
134 * then copy first byte with csb flags update. in update_csb()
137 csb.flags = CSB_V; in update_csb()
138 /* Make sure update to csb.flags is visible now */ in update_csb()
140 rc = copy_to_user(csb_addr, &csb, sizeof(u8)); in update_csb()
149 pr_debug("Invalid CSB address 0x%p signalling pid(%d)\n", in update_csb()
159 * process will be polling on csb.flags after request is sent to in update_csb()
160 * NX. So generally CSB update should not fail except when an in update_csb()