linux/arch/x86/boot/a20.c

// SPDX-License-Identifier: GPL-2.0-only
/* -*- linux-c -*- ------------------------------------------------------- *
 *
 *   Copyright (C) 1991, 1992 Linus Torvalds
 *   Copyright 2007-2008 rPath, Inc. - All Rights Reserved
 *   Copyright 2009 Intel Corporation; author H. Peter Anvin
 *
 * ----------------------------------------------------------------------- */

/*
 * Enable A20 gate (return -1 on failure)
 */

#include "boot.h"

#define MAX_8042_LOOPS
#define MAX_8042_FF

static int empty_8042(void)
{}

/* Returns nonzero if the A20 line is enabled.  The memory address
   used as a test is the int $0x80 vector, which should be safe. */

#define A20_TEST_ADDR
#define A20_TEST_SHORT
#define A20_TEST_LONG

static int a20_test(int loops)
{}

/* Quick test to see if A20 is already enabled */
static int a20_test_short(void)
{}

/* Longer test that actually waits for A20 to come on line; this
   is useful when dealing with the KBC or other slow external circuitry. */
static int a20_test_long(void)
{}

static void enable_a20_bios(void)
{}

static void enable_a20_kbc(void)
{}

static void enable_a20_fast(void)
{}

/*
 * Actual routine to enable A20; return 0 on ok, -1 on failure
 */

#define A20_ENABLE_LOOPS

int enable_a20(void)
{}