17a734e7dSH. Peter Anvin /* ----------------------------------------------------------------------- 27a734e7dSH. Peter Anvin * 37a734e7dSH. Peter Anvin * Copyright 2009 Intel Corporation; author H. Peter Anvin 47a734e7dSH. Peter Anvin * 57a734e7dSH. Peter Anvin * This file is part of the Linux kernel, and is made available under 67a734e7dSH. Peter Anvin * the terms of the GNU General Public License version 2 or (at your 77a734e7dSH. Peter Anvin * option) any later version; incorporated herein by reference. 87a734e7dSH. Peter Anvin * 97a734e7dSH. Peter Anvin * ----------------------------------------------------------------------- */ 107a734e7dSH. Peter Anvin 117a734e7dSH. Peter Anvin /* 127a734e7dSH. Peter Anvin * Simple helper function for initializing a register set. 137a734e7dSH. Peter Anvin * 147a734e7dSH. Peter Anvin * Note that this sets EFLAGS_CF in the input register set; this 157a734e7dSH. Peter Anvin * makes it easier to catch functions which do nothing but don't 167a734e7dSH. Peter Anvin * explicitly set CF. 177a734e7dSH. Peter Anvin */ 187a734e7dSH. Peter Anvin 197a734e7dSH. Peter Anvin #include "boot.h" 20c041b5adSVivek Goyal #include "string.h" 217a734e7dSH. Peter Anvin 227a734e7dSH. Peter Anvin void initregs(struct biosregs *reg) 237a734e7dSH. Peter Anvin { 24*0e96f31eSJordan Borgner memset(reg, 0, sizeof(*reg)); 257a734e7dSH. Peter Anvin reg->eflags |= X86_EFLAGS_CF; 267a734e7dSH. Peter Anvin reg->ds = ds(); 277a734e7dSH. Peter Anvin reg->es = ds(); 287a734e7dSH. Peter Anvin reg->fs = fs(); 297a734e7dSH. Peter Anvin reg->gs = gs(); 307a734e7dSH. Peter Anvin } 31