Lines Matching +full:use +full:- +full:guard +full:- +full:pages

1 // SPDX-License-Identifier: GPL-2.0
46 * On 64-bit, we have a generic entry stack that we in stack_type_name()
47 * use for all the kernel entry points, including in stack_type_name()
54 return exception_stack_names[type - STACK_TYPE_EXCEPTION]; in stack_type_name()
60 * struct estack_pages - Page descriptor for exception stacks
73 PFN_DOWN(CEA_ESTACK_OFFS(st) + CEA_ESTACK_SIZE(st) - 1)] = { \
80 * PAGE_SIZE, all pages covering a particular stack will have the same
81 * info. The guard pages including the not mapped DB2 stack are zeroed
117 k = (stk - begin) >> PAGE_SHIFT; in in_exception_stack()
120 /* Guard page? */ in in_exception_stack()
121 if (!ep->size) in in_exception_stack()
124 begin += (unsigned long)ep->offs; in in_exception_stack()
125 end = begin + (unsigned long)ep->size; in in_exception_stack()
126 regs = (struct pt_regs *)end - 1; in in_exception_stack()
128 info->type = ep->type; in in_exception_stack()
129 info->begin = (unsigned long *)begin; in in_exception_stack()
130 info->end = (unsigned long *)end; in in_exception_stack()
131 info->next_sp = (unsigned long *)regs->sp; in in_exception_stack()
141 * @end points directly to the top most stack entry to avoid a -8 in in_irq_stack()
146 begin = end - (IRQ_STACK_SIZE / sizeof(long)); in in_irq_stack()
156 info->type = STACK_TYPE_IRQ; in in_irq_stack()
157 info->begin = begin; in in_irq_stack()
158 info->end = end; in in_irq_stack()
165 info->next_sp = (unsigned long *)*(end - 1); in in_irq_stack()
208 if (*visit_mask & (1UL << info->type)) { in get_stack_info()
210 printk_deferred_once(KERN_WARNING "WARNING: stack recursion on stack type %d\n", info->type); in get_stack_info()
213 *visit_mask |= 1UL << info->type; in get_stack_info()
219 info->type = STACK_TYPE_UNKNOWN; in get_stack_info()
220 return -EINVAL; in get_stack_info()