subr_pcpu.c (59588a546f55523d6fd37ab42eb08b719311d7d6) | subr_pcpu.c (9d6ae1e3c26a0c3334a268b587f17dccb9a503d7) |
---|---|
1/*- 2 * SPDX-License-Identifier: BSD-3-Clause 3 * 4 * Copyright (c) 2001 Wind River Systems, Inc. 5 * All rights reserved. 6 * Written by: John Baldwin <jhb@FreeBSD.org> 7 * 8 * Copyright (c) 2009 Jeffrey Roberson <jeff@freebsd.org> --- 89 unchanged lines hidden (view full) --- 98 pcpu->pc_zpcpu_offset = zpcpu_offset_cpu(cpuid); 99} 100 101void 102dpcpu_init(void *dpcpu, int cpuid) 103{ 104 struct pcpu *pcpu; 105 | 1/*- 2 * SPDX-License-Identifier: BSD-3-Clause 3 * 4 * Copyright (c) 2001 Wind River Systems, Inc. 5 * All rights reserved. 6 * Written by: John Baldwin <jhb@FreeBSD.org> 7 * 8 * Copyright (c) 2009 Jeffrey Roberson <jeff@freebsd.org> --- 89 unchanged lines hidden (view full) --- 98 pcpu->pc_zpcpu_offset = zpcpu_offset_cpu(cpuid); 99} 100 101void 102dpcpu_init(void *dpcpu, int cpuid) 103{ 104 struct pcpu *pcpu; 105 |
106 TSENTER(); |
|
106 pcpu = pcpu_find(cpuid); 107 pcpu->pc_dynamic = (uintptr_t)dpcpu - DPCPU_START; 108 109 /* 110 * Initialize defaults from our linker section. 111 */ 112 memcpy(dpcpu, (void *)DPCPU_START, DPCPU_BYTES); 113 114 /* 115 * Place it in the global pcpu offset array. 116 */ 117 dpcpu_off[cpuid] = pcpu->pc_dynamic; | 107 pcpu = pcpu_find(cpuid); 108 pcpu->pc_dynamic = (uintptr_t)dpcpu - DPCPU_START; 109 110 /* 111 * Initialize defaults from our linker section. 112 */ 113 memcpy(dpcpu, (void *)DPCPU_START, DPCPU_BYTES); 114 115 /* 116 * Place it in the global pcpu offset array. 117 */ 118 dpcpu_off[cpuid] = pcpu->pc_dynamic; |
119 TSEXIT(); |
|
118} 119 120static void 121dpcpu_startup(void *dummy __unused) 122{ 123 struct dpcpu_free *df; 124 125 df = malloc(sizeof(*df), M_PCPU, M_WAITOK | M_ZERO); --- 300 unchanged lines hidden --- | 120} 121 122static void 123dpcpu_startup(void *dummy __unused) 124{ 125 struct dpcpu_free *df; 126 127 df = malloc(sizeof(*df), M_PCPU, M_WAITOK | M_ZERO); --- 300 unchanged lines hidden --- |