1*d6910058SThomas Gleixner // SPDX-License-Identifier: GPL-2.0-or-later 27a734e7dSH. Peter Anvin /* ----------------------------------------------------------------------- 37a734e7dSH. Peter Anvin * 47a734e7dSH. Peter Anvin * Copyright 2009 Intel Corporation; author H. Peter Anvin 57a734e7dSH. Peter Anvin * 67a734e7dSH. Peter Anvin * ----------------------------------------------------------------------- */ 77a734e7dSH. Peter Anvin 87a734e7dSH. Peter Anvin /* 97a734e7dSH. Peter Anvin * Simple helper function for initializing a register set. 107a734e7dSH. Peter Anvin * 117a734e7dSH. Peter Anvin * Note that this sets EFLAGS_CF in the input register set; this 127a734e7dSH. Peter Anvin * makes it easier to catch functions which do nothing but don't 137a734e7dSH. Peter Anvin * explicitly set CF. 147a734e7dSH. Peter Anvin */ 157a734e7dSH. Peter Anvin 167a734e7dSH. Peter Anvin #include "boot.h" 17c041b5adSVivek Goyal #include "string.h" 187a734e7dSH. Peter Anvin initregs(struct biosregs * reg)197a734e7dSH. Peter Anvinvoid initregs(struct biosregs *reg) 207a734e7dSH. Peter Anvin { 210e96f31eSJordan Borgner memset(reg, 0, sizeof(*reg)); 227a734e7dSH. Peter Anvin reg->eflags |= X86_EFLAGS_CF; 237a734e7dSH. Peter Anvin reg->ds = ds(); 247a734e7dSH. Peter Anvin reg->es = ds(); 257a734e7dSH. Peter Anvin reg->fs = fs(); 267a734e7dSH. Peter Anvin reg->gs = gs(); 277a734e7dSH. Peter Anvin } 28