regs.c 863 B

123456789101112131415161718192021222324252627282930
  1. /* -----------------------------------------------------------------------
  2. *
  3. * Copyright 2009 Intel Corporation; author H. Peter Anvin
  4. *
  5. * This file is part of the Linux kernel, and is made available under
  6. * the terms of the GNU General Public License version 2 or (at your
  7. * option) any later version; incorporated herein by reference.
  8. *
  9. * ----------------------------------------------------------------------- */
  10. /*
  11. * Simple helper function for initializing a register set.
  12. *
  13. * Note that this sets EFLAGS_CF in the input register set; this
  14. * makes it easier to catch functions which do nothing but don't
  15. * explicitly set CF.
  16. */
  17. #include "boot.h"
  18. #include "string.h"
  19. void initregs(struct biosregs *reg)
  20. {
  21. memset(reg, 0, sizeof *reg);
  22. reg->eflags |= X86_EFLAGS_CF;
  23. reg->ds = ds();
  24. reg->es = ds();
  25. reg->fs = fs();
  26. reg->gs = gs();
  27. }