has
; OUTPUT: r10 has ECR expected by EV_Trap
; INPUT: r0 has STAT32 of calling context
; INPUT: r0 has STAT32 of calling context
; OUTPUT: r10 has ECR expected by EV_Trap
bge t1, v0, 1f # OCTEON III has no DCACHE_ERR_REG COP0
dma_cap_mask_t has;
bitmap_and(has.bits, want->bits, device->cap_mask.bits,
return bitmap_equal(want->bits, has.bits, DMA_TX_TYPE_END);
struct hv_hotadd_state *has, *tmp;
list_for_each_entry_safe(has, tmp, &dm->ha_region_list, list) {
list_for_each_entry_safe(gap, tmp_gap, &has->gap_list, list) {
list_del(&has->list);
kfree(has);
static inline bool has_pfn_is_backed(struct hv_hotadd_state *has,
if (pfn < has->covered_start_pfn || pfn >= has->covered_end_pfn)
list_for_each_entry(gap, &has->gap_list, list) {
struct hv_hotadd_state *has;
list_for_each_entry(has, &dm_device.ha_region_list, list) {
while ((pfn >= has->start_pfn) &&
(pfn < has->end_pfn) &&
if (has_pfn_is_backed(has, pfn))
static void hv_page_online_one(struct hv_hotadd_state *has, struct page *pg)
if (!has_pfn_is_backed(has, page_to_pfn(pg))) {
static void hv_bring_pgs_online(struct hv_hotadd_state *has,
hv_page_online_one(has, pfn_to_page(start_pfn + i));
struct hv_hotadd_state *has)
has->ha_end_pfn += ha_pages_in_chunk;
has->covered_end_pfn += processed_pfn;
has->ha_end_pfn -= ha_pages_in_chunk;
has->covered_end_pfn -= processed_pfn;
struct hv_hotadd_state *has;
list_for_each_entry(has, &dm_device.ha_region_list, list) {
if (pfn < has->start_pfn ||
(pfn + (1UL << order) > has->end_pfn))
hv_bring_pgs_online(has, pfn, 1UL << order);
struct hv_hotadd_state *has;
list_for_each_entry(has, &dm_device.ha_region_list, list) {
if (start_pfn < has->start_pfn || start_pfn >= has->end_pfn)
if (has->covered_end_pfn != start_pfn) {
gap->start_pfn = has->covered_end_pfn;
list_add_tail(&gap->list, &has->gap_list);
has->covered_end_pfn = start_pfn;
if ((start_pfn + pfn_cnt) > has->end_pfn) {
residual = (start_pfn + pfn_cnt - has->end_pfn);
has->end_pfn += ALIGN(residual, ha_pages_in_chunk);
struct hv_hotadd_state *has;
list_for_each_entry(has, &dm_device.ha_region_list, list) {
if (start_pfn < has->start_pfn || start_pfn >= has->end_pfn)
old_covered_state = has->covered_end_pfn;
if (start_pfn < has->ha_end_pfn) {
pgs_ol = has->ha_end_pfn - start_pfn;
has->covered_end_pfn += pgs_ol;
if (start_pfn > has->start_pfn &&
hv_bring_pgs_online(has, start_pfn, pgs_ol);
if (has->ha_end_pfn < has->end_pfn && pfn_cnt > 0) {
size = (has->end_pfn - has->ha_end_pfn);
hv_mem_hot_add(has->ha_end_pfn, size, pfn_cnt, has);
res = has->covered_end_pfn - old_covered_state;
if (phy_ppdu->ofdm.has && (phy_ppdu->has_data || phy_ppdu->has_bcn)) {
phy_ppdu->ofdm.has = true;
bool has;
u8 has;
read_extent_buffer(eb, &has, i / BITS_PER_BYTE, 1);
i, i / BITS_PER_BYTE, has, expect);
u8 has;
read_extent_buffer(eb, &has, i / BITS_PER_BYTE, 1);
i / BITS_PER_BYTE, has, expect);
int has;
error = xfs_inobt_lookup(cur, agino, XFS_LOOKUP_LE, &has);
if (error || !has)
error = xfs_inobt_get_rec(cur, &rec, &has);
if (!has) {
error = rcbagbt_insert(cur, &bagrec, &has);
if (!has) {
int has;
error = xfs_btree_increment(cur, 0, &has);
if (!has)
error = rcbagbt_get_rec(cur, &bagrec, &has);
if (!has) {
int has;
error = xfs_btree_lookup(cur, XFS_LOOKUP_GE, &has);
error = xfs_btree_decrement(cur, 0, &has);
if (!has)
error = rcbagbt_get_rec(cur, &bagrec, &has);
if (!has) {
error = xfs_btree_delete(cur, &has);
if (!has) {
int has;
error = xfs_btree_increment(cur, 0, &has);
if (!has)
error = rcbagbt_get_rec(cur, &bagrec, &has);
if (!has) {
int has;
error = rcbagbt_lookup_eq(cur, rmap, &has);
if (has) {
error = rcbagbt_get_rec(cur, &bagrec, &has);
if (!has) {
int *has)
error = xfs_btree_get_rec(cur, &btrec, has);
if (error || !(*has))
int rcbagbt_get_rec(struct xfs_btree_cur *cur, struct rcbag_rec *rec, int *has);
.has = xfs_has_finobt,
.has = xfs_has_rmapbt,
.has = xfs_has_reflink,
.has = xfs_has_nonzoned,
.has = xfs_has_nonzoned,
.has = xfs_has_parent,
.has = xfs_has_metadir,
.has = xfs_has_rtsb,
.has = xfs_has_rtrmapbt,
.has = xfs_has_rtreflink,
if (ops->has && !ops->has(mp))
bool (*has)(const struct xfs_mount *);
if (has(KERNEL))
if (has(USER))
if (has(HYPERVISOR))
if (has(GUEST_KERNEL))
if (has(GUEST_USER))
if (has(MMAP_DATA))
if (has(COMM_EXEC))
if (has(SWITCH_OUT)) {