// SPDX-License-Identifier: GPL-2.0 /* Tests for presence or absence of hardware registers. *Thiscodewasoriginallyinatari/config.c,butInoticed *thatitwasalsoindrivers/nubus/nubus.candIwantedto *useitinhp300/config.c,soitseemedsensibletopullit *outintoitsownfile. * *Thetestisforusewhentryingtoreadahardwareregister *thatisn'tpresentwouldcauseabuserror.Wesetupa *temporaryhandlersothatthisdoesn'tkillthekernel. * *Thereisatest-by-readingandatest-by-writing;Ipresent *themherecompletewiththecommentsfromtheoriginalatari *config.c... *--PMM<pmaydell@chiark.greenend.org.uk>,05/1998
*/
/* This function tests for the presence of an address, specially a *hardwareregisteraddress.Itiscalledveryearlyinthekernel *initializationprocess,whentheVBRregisterisn'tsetupyet.On *anAtari,itstillpointstoaddress0,whichisunmapped.Soabus *errorwouldcauseanotherbuserrorwhilefetchingtheexception *vector,andtheCPUwoulddonothingatall.Soweneededtosetup *atemporaryVBRandavectortableforthedurationofthetest.
*/
#include <linux/module.h>
#include <asm/hwtest.h>
int hwreg_present(volatilevoid *regp)
{ int ret = 0; unsignedlong flags; long save_sp, save_vbr; long tmp_vectors[3];
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.11Bemerkung:
(vorverarbeitet am 2026-09-28)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.