EP1522022B1

Method and apparatus to permit external access to internal configuration registers

Abstract

Access to internal configuration registers on a computer system's chipset using an external micro-controller is provided. A SMB configuration read command including a register address may be received from an external micro-controller. Access to an internal bus may be requested from a bus arbiter. If internal bus access is granted, the SMB configuration read command may be forwarded to a device including the identified register address using the internal bus. In response to the SMB configuration read command, configuration register values from the device may be received. The configuration register values may be forwarded to the external micro-controller.

EP1522022B1, drawing sheet 1
Sheet 1 of 2

Term

Term ended

Expired 2 April 2023, 3.5 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

15 claims: 15 independent, 0 dependent

  1. 1
    An apparatus comprising:a computer system (101) having: a system management bus interface (181), hereinafter referred to as the SMBus interface (181);a chipset (130), coupled to the SMBus interface (181), having: one or more Peripheral Controller Interconnect configuration registers (144), hereinafter referred to as the PCI configuration registers (144);anda system management bus controller (131), hereinafter referred to as the SMB controller (131), coupled to the SMBus interface (181);and a microcontroller (140), coupled to the SMBus interface (181), internal or external to the computer system (101), characterized in that the microcontroller (140) is arranged to access the PCI configuration registers (144) via the SMB controller (131), by issuing read requests or commands to the SMB controller (131) via the SMBus interface (181), and to receive data from the PCI configuration registers (144) independent of the operation of the computer system (101). Appareil comprenant : un système informatique (101) comprenant : une interface de bus de gestion de système (181), appelée, dans la suite de la présente, interface SMBus (181);un circuit microprogrammé (130) couplé à l'interface SMBus (181), ayant : un ou plusieurs registres de configuration d'Interconnexion de Contrôleurs Périphériques (144), appelés, dans la suite de la présente, registres de configuration PCI (144) ;etun contrôleur de bus de gestion de système (131), appelé, dans la suite de la présente, contrôleur SMB (131), couplé à l'interface SMBus (181) ;et un microcontrôleur (140), couplé à l'interface SMBus (181), interne ou externe au système informatique (101), caractérisé en ce que le microcontrôleur (140) est arrangé pour accéder aux registres de configuration PCI (144) via le contrôleur SMB (131), en délivrant des requêtes de lecture ou des commandes au contrôleur SMB (131) via l'interface SMBus (181), et pour recevoir des données depuis les registres de configuration PCI (144), indépendamment du fonctionnement du système informatique (101). Vorrichtung, umfassend: ein Computersystem (101), aufweisend: eine Systemverwaltungsbusschnittstelle (181), im Folgenden als SM-Busschnittstelle (181) bezeichnet;einen Chipsatz (130), der an die SM-Busschnittstelle (181) gekoppelt ist, aufweisend: eine oder mehrere Peripheral Controller Interconnect-Konfigurationsregister (144), im Folgenden als PCI-Konfigurationsregister (144) bezeichnet;undeine Systemverwaltungsbussteuerung (131), im Folgenden als SMB-Steuerung (131) bezeichnet, die an die SM-Busschnittstelle (181) gekoppelt ist;und einen Mikrocontroller (140), der an die SM-Busschnittstelle (181) gekoppelt ist, intern oder extern von dem Computersystem (101), dadurch gekennzeichnet, dass der Mikrocontroller (140) zum Zugreifen auf die PCI-Konfigurationsregister (144) über die SMB-Steuerung (131) durch Ausgeben von Leseanforderungen oder -befehlen an die SMB-Steuerung (131) über die SM-Busschnittstelle (181) und zum Empfangen von Daten von den PCI-Konfigurationsregistern (144) unabhängig vom Betrieb des Computersystems (101) ausgebildet ist.
  2. 2
    Appareil selon la revendication 1, dans lequel, en réponse aux requêtes de lecture ou aux commandes, le contrôleur SMB (131) est arrangé pour générer une requête de lecture de configuration SMB comprenant une adresse pour un registre de configuration (144) à lire. The apparatus of claim 1, wherein, in response to the read requests or commands, the SMB controller (131) is arranged to generate an SMB configuration read request including an address for a configuration register (144) to be read. Vorrichtung nach Anspruch 1, wobei als Antwort auf die Leseanforderungen oder -befehle die SMB-Steuerung (131) dazu angeordnet ist, eine SMB-Konfigurationsleseanforderung zu erstellen, die eine Adresse eines Konfigurationsregisters (144), das gelesen werden soll, enthält.
  3. 3
    Appareil selon la revendication 1, dans lequel le circuit microprogrammé (130) comprend en outre un bus interne (160), couplé au contrôleur SMB (131), pour délivrer des valeurs de registre de configuration PCI au contrôleur SMB (131) en réponse aux requêtes de lecture ou aux commandes provenant du microcontrôleur externe (140). The apparatus of claim 1, wherein the chipset (130) further comprises an internal bus (160), coupled to the SMB controller (131), to deliver PCI configuration register values to the SMB controller (131) in response to the read requests or commands from the external micro-controller (140). Vorrichtung nach Anspruch 1, wobei der Chipsatz (130) weiterhin einen internen Bus (160), der an die SMB-Steuerung (131) gekoppelt ist, umfasst, um als Antwort auf die Leseanforderungen oder -befehle von dem externen Mikrocontroller (140) PCI-Konfigurationsregisterwerte an die SMB-Steuerung (131) zu leiten.
  4. 4
    Appareil selon la revendication 3, dans lequel le circuit microprogrammé comprend en outre un arbitre de bus (142), couplé au bus interne (160), arrangé pour octroyer un accès au bus interne (160) en réponse à une requête d'accès au bus interne provenant du contrôleur SMB (131) lorsque le bus interne (160) est disponible. The apparatus of claim 3, wherein the chipset further comprises a bus arbiter (142), coupled to the internal bus (160), arranged to grant access to the internal bus (160) in response to a request for internal bus access from the SMB controller (131) when the internal bus (160) is available. Vorrichtung nach Anspruch 3, wobei der Chipsatz weiterhin einen Bus-Arbiter (142), der an den internen Bus (160) gekoppelt ist, umfasst, der als Antwort auf eine Anforderung nach Zugriff auf den internen Bus von der SMB-Steuerung (131) zum Gewähren des Zugriffs auf den internen Bus (160) angeordnet ist, wenn der interne Bus (160) verfügbar ist.
  5. 5
    Appareil selon la revendication 4, dans lequel le circuit microprogrammé comprend en outre un registre de configuration pour recevoir une requête de lecture de configuration SMB depuis le contrôleur SMB (131) et pour envoyer des valeurs de configuration au contrôleur SMB (131). The apparatus of claim 4, wherein the chipset further comprises a configuration register to receive a SMB configuration read request from the SMB controller (131) and to send configuration values to the SMB controller (131). Vorrichtung nach Anspruch 4, wobei der Chipsatz weiterhin ein Konfigurationsregister zum Empfangen einer SMB-Konfigurationsleseanforderung von der SMB-Steuerung (131) und zum Senden von Konfigurationswerten an die SMB-Steuerung (131) umfasst.
  6. 6
    Appareil selon la revendication 1 pour accéder aux registres de configuration PCI (144), comprenant en outre :l'interface SMBus (181) étant couplée au microcontrôleur (140) par un bus de gestion de système externe (150), lorsque le microcontrôleur (140) est externe au système informatique (101) ;dans lequel le contrôleur SMB (131) est couplé à l'interface SMBus (181) et à un bus interne (160), dans lequel, en réponse à une commande de lecture de configuration SMB. comprenant une adresse de registre de configuration provenant du microcontrôleur (140), le contrôleur SMB (131) est arrangé pour envoyer la commande de lecture de configuration SMB à un registre de configuration d'un dispositif périphérique identifié par l'adresse de registre de configuration à l'aide du bus interne (160) ;et dans lequel le contrôleur SMB (131) est arrangé pour recevoir des valeurs de registre de configuration pour le registre de configuration identifié depuis le dispositif périphérique en réponse à la commande de lecture de configuration SMB, et pour faire suivre les valeurs de registre de configuration au microcontrôleur (140). The apparatus of claim 1 for accessing PCI configuration registers (144), further comprising: the SMBus interface (181) being coupled to the microcontroller (140) by an external system management bus (150), when the microcontroller (140) is external to the computer system (101);wherein the SMB controller (131) is coupled to the SMBus interface (181) and an internal bus (160);wherein responsive to an SMB configuration read command including a configuration register address from the micro-controller (140), the SMB controller (131) is arranged to send the SMB configuration read command to a configuration register of a peripheral device identified by the configuration register address using the internal bus (160);and wherein the SMB controller (131) is arranged to receive configuration register values for the identified configuration register from the peripheral device in response to the SMB configuration read command and to forward the configuration register values to the microcontroller (140). Vorrichtung nach Anspruch 1 zum Zugreifen auf PCI-Konfigurationsregister (144), weiterhin umfassend : die SM-Busschnittstelle (181), die durch einen externen Systemverwaltungsbus (150) an den Mikrocontroller (140) gekoppelt ist, wenn sich der Mikrocontroller (140) extern von dem Computersystem (101) befindet;wobei die SMB-Steuerung (131) an die SM-Busschnittstelle (181) und einen internen Bus (160) gekoppelt ist;wobei als Antwort auf einen SMB-Konfigurationslesebefehl, der eine Konfigurationsregisteradresse von dem Mikrocontroller (140) enthält, die SMB-Steuerung (131) dazu angeordnet ist, unter Benutzung des internen Busses (160) den SMB-Konfigurationslesebefehl an ein Konfigurationsregister eines Peripheriegeräts zu senden, das durch die Konfigurationsregisteradresse identifiziert ist;und wobei die SMB-Steuerung (131) dazu angeordnet ist, als Antwort auf den SMB-Konfigurationslesebefehl Konfigurationsregisterwerte für das identifizierte Konfigurationsregister von dem Peripheriegerät zu empfangen und die Konfigurationsregisterwerte an den Mikrocontroller (140) weiterzuleiten.
  7. 7
    Appareil selon la revendication 6, comprenant en outre que le dispositif périphérique reçoive la commande de lecture de configuration SMB, récupère des valeurs de registre de configuration dans un registre de configuration identifié par l'adresse de registre de configuration, et fasse suivre les valeurs de registre de configuration au contrôleur SMB (131) lorsque le bus interne (160) est disponible à l'accès. The apparatus of claim 6, further comprising the peripheral device to receive the SMB configuration read command, retrieve configuration register values in a configuration register identified by the configuration register address, and forward the configuration register values to the SMB controller (131) when the internal bus (160) is available for access. Vorrichtung nach Anspruch 6, weiterhin umfassend das Peripheriegerät zum Empfangen des SMB-Konfigurationslesebefehls, Aufrufen von Konfigurationsregisterwerten in einem Konfigurationsregister, das durch die Konfigurationsregisteradresse identifiziert ist, und Weiterleiten der Konfigurationsregisterwerte an die SMB-Steuerung (131), wenn der interne Bus (160) für den Zugriff verfügbar ist.
  8. 8
    A method comprising:receiving a system management bus configuration read command independent of the operation of the computer system (101) including a register address from a microcontroller (140), the microcontroller (140) being external or internal to the computer system (101);requesting access to an internal bus (160) from a bus arbiter (142);if internal bus access is granted, forwarding the SMB configuration read command to a device including register address using the internal bus (160);responsive to the SMB configuration read command, receiving configuration register values from the device;andforwarding the configuration register values to the microcontroller (140). Procédé comprenant les étapes consistant à : recevoir une commande de lecture de configuration de bus de gestion de système indépendante du fonctionnement du système informatique (101) comprenant une adresse de registre depuis un microcontrôleur (140), le microcontrôleur (140) étant externe ou interne au système informatique (101) ;requérir l'accès à un bus interne (160) à partir d'un arbitre de bus (142) ;si un accès à un bus interne est octroyé, faire suivre la commande de lecture de configuration SMB à un dispositif comprenant une adresse de registre à l'aide du bus interne (160) ;en réponse à la commande de lecture de configuration SMB, recevoir des valeurs de registre de configuration depuis le dispositif;etfaire suivre les valeurs de registre de configuration au microcontrôleur (140). Verfahren, umfassend: Empfangen eines Systemverwaltungsbuskonfigurations-Lesebefehls unabhängig von dem Betrieb des Computersystems (101), der eine Registeradresse von einem Mikrocontroller (140) enthält, wobei sich der Mikrocontroller intern oder extern von dem Computersystem (101) befindet;Anfordern des Zugriffs auf einen internen Bus (160) von einem Bus-Arbiter (142);wenn Zugriff auf den internen Bus (160) gewährt wird, Weiterleiten des SMB-Konfigurationslesebefehls unter Benutzung des internen Busses (160) an ein Gerät, das eine Registeradresse beinhaltet;Empfangen von Konfigurationsregisterwerten von dem Gerät als Antwort auf den SMB-Konfigurationslesebefehl;undWeiterleiten der Konfigurationsregisterwerte an den Mikrocontroller (140).
  9. 9
    Procédé selon la revendication 8, comprenant en outre les étapes consistant à déterminer par l'arbitre de bus (142) si le bus interne (160) est disponible à l'accès ; etoctroyer l'accès au bus interne (160) lorsque le bus interne (160) est disponible. The method of claim 8, further comprising:determining by the bus arbiter (142) whether the internal bus (160) is available for access;andgranting access to the internal bus (160) when the internal bus (160) is available. Verfahren nach Anspruch 8, weiterhin umfassend: Bestimmen durch den Bus-Arbiter (142), ob der interne Bus (160) für den Zugriff zur Verfügung steht;undGewähren des Zugriffs auf den internen Bus (160), wenn der interne Bus (160) zur Verfügung steht.
  10. 10
    Procédé selon la revendication 8, comprenant en outre les étapes consistant à :recevoir une requête pour accéder au bus interne (160) depuis le dispositif par l'arbitre de bus (142) ;déterminer lorsque le bus interne (160) est disponible à l'accès par le dispositif ;etoctroyer l'accès au bus au dispositif lorsque le bus interne (160) est disponible. The method of claim 8, further comprising: receiving a request to access the internal bus (160) from the device by the bus arbiter (142);determining when the internal bus (160) is available for access by the device;andgranting bus access to the device when the internal bus (160) is available. Verfahren nach Anspruch 8, weiterhin umfassend: Empfangen einer Anforderung zum Zugriff auf den internen Bus (160) von dem Gerät durch den Bus-Arbiter (142) ;Bestimmen, wenn der interne Bus (160) für den Zugriff durch das Gerät zur Verfügung steht;undGewähren des Buszugriffs für das Gerät, wenn der interne Bus (160) zur Verfügung steht.
  11. 11
    Procédé selon la revendication 10, comprenant en outre les étapes consistant à :recevoir la commande de lecture de configuration SMB au niveau du dispositif ;récupérer des valeurs de registre de configuration depuis un registre de configuration identifié par l'adresse de registre ;etfaire suivre les valeurs de registre de configuration lorsque le bus interne (160) est disponible. The method of claim 10, further comprising: receiving the SMB configuration read command at the device;retrieving configuration register values from a configuration register identified by the register address;andforwarding the configuration register values when the internal bus (160) is available. Verfahren nach Anspruch 10, weiterhin umfassend: Empfangen des SMB-Konfiguationslesebefehls an dem Gerät;Aufrufen von Konfigurationsregisterwerten aus einem Konfigurationsregister, das durch die Registeradresse identifiziert ist;undWeiterleiten der Konfigurationsregisterwerte, wenn der interne Bus (160) zur Verfügung steht.
  12. 12
    Appareil selon la revendication 1, dans lequel le système informatique (101) comprend en outre une unité centrale (110), appelée, dans la suite de la présente, CPU (110), la CPU faisant fonctionner un premier système d'exploitation ;dans lequel le circuit microprogrammé (130) est couplé à la CPU, et le contrôleur SMB (131) accède aux registres de configuration PCI (144) en réponse à la réception des requêtes de lecture ou commandes ;et dans lequel le microconlrôleur (140) a un second système d'exploitation pour délivrer les requêtes de lecture ou commandes au contrôleur SMB (131) via l'interface SMBus (181) et pour recevoir des données depuis les registres de configuration PCI (144). The apparatus of claim 1, wherein the computer system (101) further comprises a central processing unit (110), hereinafter referred to as the CPU (110), the CPU operating a first operating system;wherein the chipset (130) is coupled to the CPU, and the SMB controller (131) accesses the PCI configuration registers (144) in response to receiving the read requests or commands;and wherein the microcontroller (140) has a second operating system to issue the read requests or commands to the SMB controller (131) via the SMBus interface (181) and to receive data from the PCI configuration registers (144). Vorrichtung nach Anspruch 1, wobei das Computersystem (101) weiterhin eine zentrale Prozessoreinheit (110) enthält, im Folgenden als CPU (110) bezeichnet, wobei die CPU ein erstes Betriebssystem betreibt;wobei der Chipsatz (130) an die CPU gekoppelt ist und die SMB-Steuerung (131) als Antwort auf das Empfangen der Leseanforderungen oder -befehle auf die PCI-Konfigurationsregister(144) zugreift;und wobei der Mikrocontroller (140) ein zweites Betriebssystem zum Ausgeben der Leseanforderungen oder -befehle an die SMB-Steuerung (131) über die SM-Busschnittstelle (181) und Empfangen von Daten aus den PCI-Konfigurationsregistern (144) aufweist.
  13. 13
    Appareil selon la revendication 12, dans lequel le second système d'exploitation est indépendant du premier système d'exploitation. The apparatus of claim 12, wherein the second operating system is independent of the first operating system. Vorrichtung nach Anspruch 12, wobei das zweite Betriebssystem von dem ersten Betriebssystem unabhängig ist.
  14. 14
    Appareil selon la revendication 13, dans lequel le microcontrôleur (140) peut accéder aux registres de configuration PCI (144) si le premier système d'exploitation, n'est pas en fonctionnement. The apparatus of claim 13, wherein the microcontroller (140) may access the PCI configuration registers (144) if the first operating system is not operating. Vorrichtung nach Anspruch 13, wobei der Mikrocontroller (140) auf die PCI-Konfigurationsregister (144) zugreifen kann, wenn das erste Betriebssystem nicht in Betrieb ist.
  15. 15
    A machine-readable medium having stored thereon a plurality of executable instructions, the plurality of instructions comprising instructions, which when executed, cause a suitable processor to carry out the method of any of claims 8 to 11. Maschinenlesbares Medium, das mehrere ausführbare Befehle gespeichert aufweist, wobei die mehreren Befehle Befehle umfassen, die, wenn sie ausgeführt werden, einen geeigneten Prozessor dazu veranlassen, das Verfahren nach einem der Ansprüche 8 bis 11 auszuführen. Support lisible par une machine sur lequel est stockée une pluralité d'instructions exécutables, la pluralité d'instructions comprenant des instructions qui, lorsqu'elles sont exécutées, entraînent qu'un processeur adéquat exécute le procédé de l'une quelconque des revendications 8 à 11.
Independent claims15