/openbmc/linux/arch/riscv/ |
H A D | Kconfig.errata | 20 non-standard handling on non-coherent operations on Andes cores. 22 If you don't know what to do here, say "Y". 35 bool "Apply SiFive errata CIP-453" 39 This will apply the SiFive CIP-453 errata to add sign extension 43 If you don't know what to do here, say "Y". 46 bool "Apply SiFive errata CIP-1200" 50 This will apply the SiFive CIP-1200 errata to repalce all 54 If you don't know what to do here, say "Y". 57 bool "T-HEAD errata" 60 All T-HEAD errata Kconfig depend on this Kconfig. Disabling [all …]
|
/openbmc/linux/arch/x86/platform/uv/ |
H A D | uv_time.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 * Copyright (c) 2009-2013 Silicon Graphics, Inc. All Rights Reserved. 38 .irq = -1, 92 /* Setup interrupt and return non-zero if early expiration occurred. */ 101 uv_write_global_mmr64(pnode, UVH_INT_CMPB, -1L); in uv_setup_intr() 121 * Per-cpu timer tracking routines 134 /* Allocate per-node list of cpu timer expiration times. */ 141 return -ENOMEM; in uv_rtc_allocate_timers() 147 struct uv_rtc_timer_head *head = blade_info[bid]; in uv_rtc_allocate_timers() local 149 if (!head) { in uv_rtc_allocate_timers() [all …]
|
/openbmc/linux/kernel/futex/ |
H A D | syscalls.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 13 * Implementation: user-space maintains a per-thread list of locks it 18 * per-thread. Userspace also maintains a per-thread 'list_op_pending' 25 * sys_set_robust_list() - Set the robust-futex list head of a task 26 * @head: pointer to the list-head 27 * @len: length of the list-head, as userspace expects 29 SYSCALL_DEFINE2(set_robust_list, struct robust_list_head __user *, head, in SYSCALL_DEFINE2() argument 35 if (unlikely(len != sizeof(*head))) in SYSCALL_DEFINE2() 36 return -EINVAL; in SYSCALL_DEFINE2() 38 current->robust_list = head; in SYSCALL_DEFINE2() [all …]
|
/openbmc/linux/drivers/gpu/drm/radeon/ |
H A D | mkregtable.c | 1 // SPDX-License-Identifier: MIT 20 #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) 22 * container_of - cast a member of a structure out to the containing structure 29 const typeof(((type *)0)->member)*__mptr = (ptr); \ 30 (type *)((char *)__mptr - offsetof(type, member)); }) 39 * using the generic single-entry routines. 49 list->next = list; in INIT_LIST_HEAD() 50 list->prev = list; in INIT_LIST_HEAD() 63 next->prev = new; in __list_add() 64 new->next = next; in __list_add() [all …]
|
/openbmc/linux/arch/x86/kernel/cpu/mce/ |
H A D | genpool.c | 1 // SPDX-License-Identifier: GPL-2.0-only 15 * printk() is not safe in MCE context. This is a lock-less memory allocator 16 * used to save error information organized in a lock-less list. 29 * Compare the record "t" with each of the records on list "l" to see if 32 static bool is_duplicate_mce_record(struct mce_evt_llist *t, struct mce_evt_llist *l) in is_duplicate_mce_record() argument 37 m1 = &t->mce; in is_duplicate_mce_record() 39 llist_for_each_entry(node, &l->llnode, llnode) { in is_duplicate_mce_record() 40 m2 = &node->mce; in is_duplicate_mce_record() 49 * The system has panicked - we'd like to peruse the list of MCE records 57 struct llist_node *head; in mce_gen_pool_prepare_records() local [all …]
|
/openbmc/btbridge/ |
H A D | btbridged.c | 7 * http://www.apache.org/licenses/LICENSE-2.0 35 #include <linux/bt-bmc.h> 37 #include <systemd/sd-bus.h> 39 static const char *bt_bmc_device = "/dev/ipmi-bt-host"; 115 return context ? context->bt_q : NULL; in bt_q_get_head() 120 struct bt_queue *t; in bt_q_get_seq() local 124 t = context->bt_q; in bt_q_get_seq() 126 while (t && t->req.seq != seq) in bt_q_get_seq() 127 t = t->next; in bt_q_get_seq() 129 return t; in bt_q_get_seq() [all …]
|
/openbmc/linux/drivers/gpu/drm/nouveau/dispnv50/ |
H A D | crc.c | 1 // SPDX-License-Identifier: MIT 16 #include "head.h" 25 [NV50_CRC_SOURCE_OUTP_ACTIVE] = "outp-active", 26 [NV50_CRC_SOURCE_OUTP_COMPLETE] = "outp-complete", 27 [NV50_CRC_SOURCE_OUTP_INACTIVE] = "outp-inactive", 51 struct nouveau_drm *drm = nouveau_drm(crtc->dev); in nv50_crc_verify_source() 56 return -EINVAL; in nv50_crc_verify_source() 70 nv50_crc_program_ctx(struct nv50_head *head, in nv50_crc_program_ctx() argument 73 struct nv50_disp *disp = nv50_disp(head->base.base.dev); in nv50_crc_program_ctx() 74 struct nv50_core *core = disp->core; in nv50_crc_program_ctx() [all …]
|
/openbmc/linux/net/sctp/ |
H A D | output.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 * Copyright (c) 1999-2000 Cisco, Inc. 5 * Copyright (c) 1999-2001 Motorola, Inc. 13 * lksctp developers <linux-sctp@vger.kernel.org> 60 packet->size = packet->overhead; in sctp_packet_reset() 62 packet->has_cookie_echo = 0; in sctp_packet_reset() 63 packet->has_sack = 0; in sctp_packet_reset() 64 packet->has_data = 0; in sctp_packet_reset() 65 packet->has_auth = 0; in sctp_packet_reset() 66 packet->ipfragok = 0; in sctp_packet_reset() [all …]
|
/openbmc/linux/lib/ |
H A D | plist.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Descending-priority-sorted double-linked list 7 * (C) 2002-2003 Intel Corp 8 * Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>. 10 * 2001-2005 (c) MontaVista Software, Inc. 16 * Oleg Nesterov <oleg@tv-sign.ru> 32 static void plist_check_prev_next(struct list_head *t, struct list_head *p, in plist_check_prev_next() argument 35 WARN(n->prev != p || p->next != n, in plist_check_prev_next() 39 t, t->next, t->prev, in plist_check_prev_next() 40 p, p->next, p->prev, in plist_check_prev_next() [all …]
|
/openbmc/linux/kernel/ |
H A D | softirq.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * Rewritten. Old one was good in 2.2, but in 2.3 it was immoral. --ANK (990903) 37 - No shared variables, all the data are CPU local. 38 - If a softirq needs serialization, let it serialize itself 40 - Even if softirq is serialized, only local cpu is marked for 46 - NET RX softirq. It is multithreaded and does not require 48 - NET TX softirq. It kicks software netdevice queues, hence 51 - Tasklets: serialized wrt itself. 70 * but we also don't want to introduce a worst case 1/HZ latency 96 * - count is changed by SOFTIRQ_OFFSET on entering or leaving softirq [all …]
|
/openbmc/linux/drivers/block/aoe/ |
H A D | aoecmd.c | 10 #include <linux/blk-mq.h> 54 struct list_head head; member 71 skb->protocol = __constant_htons(ETH_P_AOE); in new_skb() 80 struct list_head *head, *pos, *nx; in getframe_deferred() local 83 head = &d->rexmitq; in getframe_deferred() 84 list_for_each_safe(pos, nx, head) { in getframe_deferred() 85 f = list_entry(pos, struct frame, head); in getframe_deferred() 86 if (f->tag == tag) { in getframe_deferred() 98 struct list_head *head, *pos, *nx; in getframe() local 102 head = &d->factive[n]; in getframe() [all …]
|
/openbmc/linux/net/bpf/ |
H A D | test_run.c | 1 // SPDX-License-Identifier: GPL-2.0-only 19 #include <linux/error-injection.h> 36 static void bpf_test_timer_enter(struct bpf_test_timer *t) in bpf_test_timer_enter() argument 40 if (t->mode == NO_PREEMPT) in bpf_test_timer_enter() 45 t->time_start = ktime_get_ns(); in bpf_test_timer_enter() 48 static void bpf_test_timer_leave(struct bpf_test_timer *t) in bpf_test_timer_leave() argument 51 t->time_start = 0; in bpf_test_timer_leave() 53 if (t->mode == NO_PREEMPT) in bpf_test_timer_leave() 60 static bool bpf_test_timer_continue(struct bpf_test_timer *t, int iterations, in bpf_test_timer_continue() argument 64 t->i += iterations; in bpf_test_timer_continue() [all …]
|
/openbmc/linux/net/ipv4/ |
H A D | xfrm4_protocol.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* xfrm4_protocol.c - Generic xfrm protocol multiplexer. 40 #define for_each_protocol_rcu(head, handler) \ argument 41 for (handler = rcu_dereference(head); \ 43 handler = rcu_dereference(handler->next)) \ 49 struct xfrm4_protocol __rcu **head = proto_handlers(protocol); in xfrm4_rcv_cb() local 51 if (!head) in xfrm4_rcv_cb() 54 for_each_protocol_rcu(*head, handler) in xfrm4_rcv_cb() 55 if ((ret = handler->cb_handler(skb, err)) <= 0) in xfrm4_rcv_cb() 66 struct xfrm4_protocol __rcu **head = proto_handlers(nexthdr); in xfrm4_rcv_encap() local [all …]
|
/openbmc/linux/Documentation/mm/ |
H A D | transhuge.rst | 12 - "graceful fallback": mm components which don't have transparent hugepage 17 - if a hugepage allocation fails because of memory fragmentation, 22 - if some task quits and more hugepages become available (either 27 - it doesn't require memory reservation and in turn it uses hugepages 38 head or tail pages as usual (exactly as they would do on 41 is complete, so they won't ever notice the fact the page is huge. But 43 page (like for checking page->mapping or other bits that are relevant 44 for the head page and not the tail page), it should be updated to jump 45 to check head page instead. Taking a reference on any head/tail page would 49 these aren't new constraints to the GUP API, and they match the [all …]
|
/openbmc/linux/tools/perf/arch/arm64/util/ |
H A D | arm-spe.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * Copyright (c) 2017-2018, Arm Ltd. 25 #include "../../../util/arm-spe.h" 53 struct perf_pmu *arm_spe_pmu = sper->arm_spe_pmu; in arm_spe_info_fill() 56 return -EINVAL; in arm_spe_info_fill() 58 if (!session->evlist->core.nr_mmaps) in arm_spe_info_fill() 59 return -EINVAL; in arm_spe_info_fill() 61 auxtrace_info->type = PERF_AUXTRACE_ARM_SPE; in arm_spe_info_fill() 62 auxtrace_info->priv[ARM_SPE_PMU_TYPE] = arm_spe_pmu->type; in arm_spe_info_fill() 83 * No size were given to '-S' or '-m,', so go with the default in arm_spe_snapshot_resolve_auxtrace_defaults() [all …]
|
/openbmc/u-boot/lib/ |
H A D | membuff.c | 1 // SPDX-License-Identifier: GPL-2.0+ 16 /* set mb->head and mb->tail so the buffers look empty */ in membuff_purge() 17 mb->head = mb->start; in membuff_purge() 18 mb->tail = mb->start; in membuff_purge() 26 /* always write to 'mb->head' */ in membuff_putrawflex() 28 *data = &mb->start; in membuff_putrawflex() 29 *offsetp = mb->head - mb->start; in membuff_putrawflex() 32 if (!mb->start) in membuff_putrawflex() 36 * if head is ahead of tail, we can write from head until the end of in membuff_putrawflex() 39 if (mb->head >= mb->tail) { in membuff_putrawflex() [all …]
|
/openbmc/linux/drivers/net/ethernet/amazon/ena/ |
H A D | ena_eth_com.h | 1 /* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ 3 * Copyright 2015-2020 Amazon.com, Inc. or its affiliates. All rights reserved. 11 /* head update threshold in units of (queue size / ENA_COMP_HEAD_THRESH) */ 15 #define ENA_LLQ_HEADER (128UL - ENA_LLQ_ENTRY_DESC_CHUNK_SIZE) 16 #define ENA_LLQ_LARGE_HEADER (256UL - ENA_LLQ_ENTRY_DESC_CHUNK_SIZE) 21 /* For LLQ, header buffer - pushed to the device mem space */ 38 u8 df; /* Don't fragment */ 73 writel(intr_reg->intr_control, io_cq->unmask_reg); in ena_com_unmask_intr() 80 next_to_comp = io_sq->next_to_comp; in ena_com_free_q_entries() 81 tail = io_sq->tail; in ena_com_free_q_entries() [all …]
|
/openbmc/linux/drivers/staging/media/atomisp/pci/hive_isp_css_common/host/ |
H A D | debug_private.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 4 * Copyright (c) 2010-2015, Intel Corporation. 30 return (debug_data_ptr->head == debug_data_ptr->tail); in is_debug_buffer_empty() 37 assert(debug_buffer_address != ((hrt_address) - 1)); in debug_dequeue() 42 value = debug_data_ptr->buf[debug_data_ptr->head]; in debug_dequeue() 43 debug_data_ptr->head = (debug_data_ptr->head + 1) & DEBUG_BUF_MASK; in debug_dequeue() 45 debug_data_ptr->head); in debug_dequeue() 55 …/* We could move the remote head after the upload, but we would have to limit the upload w.r.t. th… in debug_synch_queue() 56 if (remote_tail > debug_data_ptr->tail) { in debug_synch_queue() 57 size_t delta = remote_tail - debug_data_ptr->tail; in debug_synch_queue() [all …]
|
/openbmc/linux/arch/powerpc/platforms/pseries/ |
H A D | hvcserver.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 28 * functions aren't performance sensitive, so this conversion isn't an 37 return -EINVAL; in hvcs_convert() 39 return -EIO; in hvcs_convert() 47 return -EBUSY; in hvcs_convert() 50 return -EPERM; in hvcs_convert() 55 * hvcs_free_partner_info - free pi allocated by hvcs_get_partner_info 56 * @head: list_head pointer for an allocated list of partner info structs to 62 int hvcs_free_partner_info(struct list_head *head) in hvcs_free_partner_info() argument 67 if (!head) in hvcs_free_partner_info() [all …]
|
/openbmc/linux/drivers/pci/hotplug/ |
H A D | cpqphp_ctrl.c | 1 // SPDX-License-Identifier: GPL-2.0+ 6 * Copyright (C) 2001 Greg Kroah-Hartman (greg@kroah.com) 72 func = cpqhp_slot_find(ctrl->bus, in handle_switch_change() 73 (hp_slot + ctrl->slot_device_offset), 0); in handle_switch_change() 78 taskInfo = &(ctrl->event_queue[ctrl->next_event]); in handle_switch_change() 79 ctrl->next_event = (ctrl->next_event + 1) % 10; in handle_switch_change() 80 taskInfo->hp_slot = hp_slot; in handle_switch_change() 84 temp_word = ctrl->ctrl_int_comp >> 16; in handle_switch_change() 85 func->presence_save = (temp_word >> hp_slot) & 0x01; in handle_switch_change() 86 func->presence_save |= (temp_word >> (hp_slot + 7)) & 0x02; in handle_switch_change() [all …]
|
/openbmc/linux/fs/ |
H A D | pipe.c | 1 // SPDX-License-Identifier: GPL-2.0 39 * than two, then a write to a non-empty pipe may block even if the pipe is not 45 * own risk, namely: pipe writes to non-full pipes may block until the pipe is 51 * The max size that a non-root user is allowed to grow the pipe. Can 52 * be set by root in /proc/sys/fs/pipe-max-size 63 * We use head and tail indices that aren't masked off, except at the point of 65 * isn't a dead spot in the buffer, but the ring has to be a power of two and 67 * -- David Howells 2019-09-23. 70 * -- Julian Bradfield 1999-06-07. 73 * -- Jeremy Elson <jelson@circlemud.org> 2001-08-16 [all …]
|
/openbmc/linux/tools/testing/selftests/rseq/ |
H A D | param_test.c | 1 // SPDX-License-Identifier: LGPL-2.1 44 static __thread __attribute__((tls_model("initial-exec"))) 49 static __thread __attribute__((tls_model("initial-exec"), unused)) 66 "mov asm_loop_cnt_" #n ", %%" INJECT_ASM_REG "\n\t" \ 67 "test %%" INJECT_ASM_REG ",%%" INJECT_ASM_REG "\n\t" \ 68 "jz 333f\n\t" \ 69 "222:\n\t" \ 70 "dec %%" INJECT_ASM_REG "\n\t" \ 71 "jnz 222b\n\t" \ 72 "333:\n\t" [all …]
|
/openbmc/linux/include/linux/ |
H A D | freelist.h | 1 /* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */ 10 * A simple CAS-based lock-free free list. Not the fastest thing in the world 15 * Adapted from: https://moodycamel.com/blog/2014/solving-the-aba-problem-for-lock-free-free-lists 24 struct freelist_node *head; member 40 * something non-zero, then the refcount increment is done by the other in __freelist_add() 41 * thread) -- so if the CAS to add the node to the actual list fails, in __freelist_add() 46 struct freelist_node *head = READ_ONCE(list->head); in __freelist_add() local 49 WRITE_ONCE(node->next, head); in __freelist_add() 50 atomic_set_release(&node->refs, 1); in __freelist_add() 52 if (!try_cmpxchg_release(&list->head, &head, node)) { in __freelist_add() [all …]
|
/openbmc/linux/kernel/events/ |
H A D | ring_buffer.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Performance events ring-buffer code: 6 * Copyright (C) 2008-2011 Red Hat, Inc., Ingo Molnar 7 * Copyright (C) 2008-2011 Red Hat, Inc., Peter Zijlstra 22 atomic_set(&handle->rb->poll, EPOLLIN); in perf_output_wakeup() 24 handle->event->pending_wakeup = 1; in perf_output_wakeup() 25 irq_work_queue(&handle->event->pending_irq); in perf_output_wakeup() 29 * We need to ensure a later event_id doesn't publish a head when a former 30 * event isn't done writing. However since we need to deal with NMIs we 33 * We only publish the head (and generate a wakeup) when the outer-most [all …]
|
/openbmc/linux/net/sched/ |
H A D | cls_fw.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 55 struct fw_head *head = rcu_dereference_bh(tp->root); in fw_classify() local 58 u32 id = skb->mark; in fw_classify() 60 if (head != NULL) { in fw_classify() 61 id &= head->mask; in fw_classify() 63 for (f = rcu_dereference_bh(head->ht[fw_hash(id)]); f; in fw_classify() 64 f = rcu_dereference_bh(f->next)) { in fw_classify() 65 if (f->id == id) { in fw_classify() 66 *res = f->res; in fw_classify() 67 if (!tcf_match_indev(skb, f->ifindex)) in fw_classify() [all …]
|