linux/drivers/ras/amd/atl/core.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * AMD Address Translation Library
 *
 * core.c : Module init and base translation functions
 *
 * Copyright (c) 2023, Advanced Micro Devices, Inc.
 * All Rights Reserved.
 *
 * Author: Yazen Ghannam <[email protected]>
 */

#include <linux/module.h>
#include <asm/cpu_device_id.h>

#include "internal.h"

struct df_config df_cfg __read_mostly;

static int addr_over_limit(struct addr_ctx *ctx)
{}

static bool legacy_hole_en(struct addr_ctx *ctx)
{}

static u64 add_legacy_hole(struct addr_ctx *ctx, u64 addr)
{}

static u64 remove_legacy_hole(struct addr_ctx *ctx, u64 addr)
{}

static u64 get_base_addr(struct addr_ctx *ctx)
{}

u64 add_base_and_hole(struct addr_ctx *ctx, u64 addr)
{}

u64 remove_base_and_hole(struct addr_ctx *ctx, u64 addr)
{}

static bool late_hole_remove(struct addr_ctx *ctx)
{}

unsigned long norm_to_sys_addr(u8 socket_id, u8 die_id, u8 coh_st_inst_id, unsigned long addr)
{}

static void check_for_legacy_df_access(void)
{}

/*
 * This library provides functionality for AMD-based systems with a Data Fabric.
 * The set of systems with a Data Fabric is equivalent to the set of Zen-based systems
 * and the set of systems with the Scalable MCA feature at this time. However, these
 * are technically independent things.
 *
 * It's possible to match on the PCI IDs of the Data Fabric devices, but this will be
 * an ever expanding list. Instead, match on the SMCA and Zen features to cover all
 * relevant systems.
 */
static const struct x86_cpu_id amd_atl_cpuids[] =;
MODULE_DEVICE_TABLE(x86cpu, amd_atl_cpuids);

static int __init amd_atl_init(void)
{}

/*
 * Exit function is only needed for testing and debug. Module unload must be
 * forced to override refcount check.
 */
static void __exit amd_atl_exit(void)
{}

module_init();
module_exit(amd_atl_exit);

MODULE_DESCRIPTION();
MODULE_LICENSE();