OpenBIOS
Threads by month
- ----- 2025 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2000 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1999 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1998 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1997 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1996 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1995 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1994 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1993 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1992 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1991 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1990 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1989 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1988 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1987 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1986 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1985 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1984 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1983 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1982 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1981 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1980 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1979 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1978 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1977 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1976 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1975 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1974 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1973 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1972 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1971 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1970 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1969 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1968 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1967 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1966 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1965 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1964 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1963 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1962 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1961 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1960 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1959 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1958 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1957 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1956 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1955 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1954 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1953 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1952 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1951 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1950 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1949 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1948 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1947 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1946 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1945 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1944 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1943 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1942 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1941 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1940 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1939 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1938 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1937 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1936 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1935 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1934 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1933 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1932 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1931 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1930 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1929 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1928 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1927 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1926 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1925 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1924 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1923 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1922 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1921 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1920 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1919 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1918 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1917 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1916 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1915 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1914 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1913 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1912 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1911 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1910 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1909 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1908 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1907 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1906 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1905 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1904 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
March 2023
- 3 participants
- 5 discussions

[PATCH 0/6] Fixes for Forth PCI config access words and implementation
by Mark Cave-Ayland July 30, 2024
by Mark Cave-Ayland July 30, 2024
July 30, 2024
This series provides a set of fixes required to allow Forth PCI config access
words to work correctly on both 32-bit and 64-bit platforms, along with Zoltan's
original v4 patch. There are 2 main fixes included:
- Implement and convert PCI encode-unit/decode-unit to static methods
- Fix my-address and my-unit on 64-bit platforms
With this series applied it is possible to execute the Forth PCI config words as
documented in various drivers as below:
PPC (32-bit):
0 > showstack ok
0 > " /pci/QEMU,VGA" open-dev to my-self ok
0 > my-space " config-w@" $call-parent u. 1234 ok
0 > my-space ok
800 < 1 > my-address ok
800 0 0 < 3 >
SPARC64 (64-bit, including across PCI bridge):
0 > showstack ok
0 > " /pci/pci@1,1/QEMU,VGA" open-dev to my-self ok
0 > my-space " config-w@" $call-parent u. 1234 ok
0 > my-space ok
11000 < 1 > my-address ok
11000 0 0 < 3 >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland(a)ilande.co.uk>
BALATON Zoltan (1):
drivers/pci: Implement config access words
Mark Cave-Ayland (5):
libopenbios/clib.fs: add new is-2arg-cfunc for calling into C
libopenbios: introduce BIND_NODE_STATIC_METHOD and supporting
functions
drivers/pci.c: convert encode-unit and decode-unit words to static
methods
package.fs: fix my-address on 64-bit systems
package.fs: fix my-unit on 64-bit systems
drivers/pci.c | 115 +++++++++++++++++++++++++++++++--
forth/device/package.fs | 8 +--
include/libopenbios/bindings.h | 7 ++
libopenbios/bindings.c | 26 ++++++++
libopenbios/clib.fs | 10 +++
5 files changed, 155 insertions(+), 11 deletions(-)
--
2.30.2
2
14

[PATCH] kernel: Fix compiler format string warnings when some debugging options are enabled
by Glenn Washburn July 29, 2023
by Glenn Washburn July 29, 2023
July 29, 2023
Signed-off-by: Glenn Washburn <development(a)efficientek.com>
---
This compile-time errors from GCC 10.1.0 when the config options
CONFIG_DEBUG_BOOT, CONFIG_DEBUG_DICTIONARY, and CONFIG_DEBUG_INTERPRETER
are set to true in the ppc64_config.xml. I suspect these are issues for 32-bit
PPC as well, but haven't checked.
Glenn
---
kernel/bootstrap.c | 8 ++++----
kernel/dict.c | 4 ++--
kernel/forth.c | 4 ++--
3 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/kernel/bootstrap.c b/kernel/bootstrap.c
index b7658ab..6834597 100644
--- a/kernel/bootstrap.c
+++ b/kernel/bootstrap.c
@@ -133,9 +133,9 @@ static void relocation_table(unsigned char * dict_one, unsigned char *dict_two,
}
#ifdef CONFIG_DEBUG_DICTIONARY
- printk("dict1 %lx dict2 %lx dict %lx\n",dict_one, dict_two, dict);
+ printk("dict1 %p dict2 %p dict %p\n",dict_one, dict_two, dict);
for (i=0; i< relocation_length ; i++)
- printk("reloc %d %lx\n",i+1, reloc_table[i]);
+ printk("reloc %d "FMT_ucellx"\n",i+1, reloc_table[i]);
#endif
relocation_address=reloc_table;
}
@@ -819,7 +819,7 @@ static int build_dictionary(void)
dicthead = 0;
#ifdef CONFIG_DEBUG_DICTIONARY
- printk("building dictionary, %d primitives.\nbuilt words:",
+ printk("building dictionary, %lu primitives.\nbuilt words:",
sizeof(wordnames) / sizeof(void *));
#endif
@@ -1248,7 +1248,7 @@ int main(int argc, char *argv[])
printf("dict1: %p\n",bootstrapdict[0]);
printf("dict2: %p\n",bootstrapdict[1]);
printf("trampoline: %p\n",trampoline);
- printf("size=%d, trampoline_size=%d\n",MEMORY_SIZE + (2 *
+ printf("size=%ld, trampoline_size=%ld\n",MEMORY_SIZE + (2 *
DICTIONARY_SIZE) + TRAMPOLINE_SIZE,
TRAMPOLINE_SIZE);
#endif
diff --git a/kernel/dict.c b/kernel/dict.c
index 0986cb1..e449c5b 100644
--- a/kernel/dict.c
+++ b/kernel/dict.c
@@ -293,8 +293,8 @@ ucell load_dictionary(const char *data, ucell len)
reloc_table=(ucell *)(data+dicthead);
#ifdef CONFIG_DEBUG_DICTIONARY
- printk("\nmoving dictionary (%x bytes) to %x\n",
- (ucell)dicthead, (ucell)dict);
+ printk("\nmoving dictionary (%x bytes) to "FMT_ucellx"\n",
+ (ucell)dicthead, pointer2cell(dict));
printk("\ndynamic relocation...");
#endif
diff --git a/kernel/forth.c b/kernel/forth.c
index 61dd70d..ca3fda3 100644
--- a/kernel/forth.c
+++ b/kernel/forth.c
@@ -111,7 +111,7 @@ static void docol(void)
PUSHR(PC);
PC = read_ucell(cell2pointer(PC));
- dbg_interp_printk("docol: %s\n", cell2pointer( lfa2nfa(PC - sizeof(cell)) ));
+ dbg_interp_printk("docol: %s\n", (char *)cell2pointer( lfa2nfa(PC - sizeof(cell)) ));
}
static void semis(void)
@@ -719,7 +719,7 @@ static void docol_dbg(void)
debug_xt_item = debug_xt_item->next;
}
- dbg_interp_printk("docol_dbg: %s\n", cell2pointer(lfa2nfa(PC - sizeof(cell))));
+ dbg_interp_printk("docol_dbg: %s\n", (char *)cell2pointer(lfa2nfa(PC - sizeof(cell))));
}
static void semis_dbg(void)
--
2.30.2
2
4

May 11, 2023
This is untested and probably should be marked RFC as it's mainly to
show what I was suggesting as an alternative fix for the decode-unit
problem discovered by Mark. This could be taken further to adopt the
decode-unit and encode-unit words from openfirmware to reduce clutter
in pci.c even more which I may attempt if this direction is accepted.
My config words patch will also need to be rebased but let this part
settle fitst and I can submit the rest as a follow up or a v2 for this
series later.
Regards,
BALATON Zoltan (3):
pci: Use forth to add trivial open/close methods
pci: Add is-pci-bus word to install some methods from forth
pci: Fix calling decode-unit without active-package
drivers/pci.c | 78 +++++---------------------------------------------
drivers/pci.fs | 10 +++++++
2 files changed, 17 insertions(+), 71 deletions(-)
--
2.30.8
3
16
Mac OS X calls it during boot. This gets rid of an error saying
"call-method slw_update_keymap failed with error ffffffdf" but
otherwise does not seem to matter. It's probably used for getting the
pressed keys that can change some boot actions like enable verbose
mode with Cmd-V.
Signed-off-by: BALATON Zoltan <balaton(a)eik.bme.hu>
---
drivers/usbhid.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/usbhid.c b/drivers/usbhid.c
index b8e1548..d3ad4ef 100644
--- a/drivers/usbhid.c
+++ b/drivers/usbhid.c
@@ -52,12 +52,20 @@ keyboard_close(int *idx)
{
}
+static void
+keyboard_get_key_map(void)
+{
+ static char keytable[32] = { 0 };
+ PUSH(pointer2cell(keytable));
+}
+
static void keyboard_read(void);
NODE_METHODS( usb_kbd ) = {
{ "open", keyboard_open },
{ "close", keyboard_close },
{ "read", keyboard_read },
+ { "get-key-map", keyboard_get_key_map },
};
#ifdef CONFIG_DEBUG_USB
--
2.30.6
2
5
Signed-off-by: BALATON Zoltan <balaton(a)eik.bme.hu>
---
v4: Added call parent word for bridge devices
drivers/pci.c | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 102 insertions(+)
diff --git a/drivers/pci.c b/drivers/pci.c
index f30e427..084ebe9 100644
--- a/drivers/pci.c
+++ b/drivers/pci.c
@@ -424,6 +424,60 @@ ob_pci_bus_map_in(int *idx)
PUSH(virt);
}
+static void
+ob_pci_config_read8(int *idx)
+{
+ cell hi = POP();
+ pci_addr addr = PCI_ADDR(PCI_BUS(hi), PCI_DEV(hi), PCI_FN(hi));
+ uint8_t val = pci_config_read8(addr, hi & 0xff);
+ PUSH(val);
+}
+
+static void
+ob_pci_config_write8(int *idx)
+{
+ cell hi = POP();
+ pci_addr addr = PCI_ADDR(PCI_BUS(hi), PCI_DEV(hi), PCI_FN(hi));
+ cell val = POP();
+ pci_config_write8(addr, hi & 0xff, val);
+}
+
+static void
+ob_pci_config_read16(int *idx)
+{
+ cell hi = POP();
+ pci_addr addr = PCI_ADDR(PCI_BUS(hi), PCI_DEV(hi), PCI_FN(hi));
+ uint16_t val = pci_config_read16(addr, hi & 0xff);
+ PUSH(val);
+}
+
+static void
+ob_pci_config_write16(int *idx)
+{
+ cell hi = POP();
+ pci_addr addr = PCI_ADDR(PCI_BUS(hi), PCI_DEV(hi), PCI_FN(hi));
+ cell val = POP();
+ pci_config_write16(addr, hi & 0xff, val);
+}
+
+static void
+ob_pci_config_read32(int *idx)
+{
+ cell hi = POP();
+ pci_addr addr = PCI_ADDR(PCI_BUS(hi), PCI_DEV(hi), PCI_FN(hi));
+ uint32_t val = pci_config_read32(addr, hi & 0xff);
+ PUSH(val);
+}
+
+static void
+ob_pci_config_write32(int *idx)
+{
+ cell hi = POP();
+ pci_addr addr = PCI_ADDR(PCI_BUS(hi), PCI_DEV(hi), PCI_FN(hi));
+ cell val = POP();
+ pci_config_write32(addr, hi & 0xff, val);
+}
+
static void
ob_pci_dma_alloc(int *idx)
{
@@ -460,6 +514,12 @@ NODE_METHODS(ob_pci_bus_node) = {
{ "decode-unit", ob_pci_decode_unit },
{ "encode-unit", ob_pci_encode_unit },
{ "pci-map-in", ob_pci_bus_map_in },
+ { "config-b@", ob_pci_config_read8 },
+ { "config-b!", ob_pci_config_write8 },
+ { "config-w@", ob_pci_config_read16 },
+ { "config-w!", ob_pci_config_write16 },
+ { "config-l@", ob_pci_config_read32 },
+ { "config-l!", ob_pci_config_write32 },
{ "dma-alloc", ob_pci_dma_alloc },
{ "dma-free", ob_pci_dma_free },
{ "dma-map-in", ob_pci_dma_map_in },
@@ -476,12 +536,54 @@ ob_pci_bridge_map_in(int *idx)
call_parent_method("pci-map-in");
}
+static void
+ob_pci_bridge_cread8(void)
+{
+ call_parent_method("config-b@");
+}
+
+static void
+ob_pci_bridge_cwrite8(void)
+{
+ call_parent_method("config-b!");
+}
+
+static void
+ob_pci_bridge_cread16(void)
+{
+ call_parent_method("config-w@");
+}
+
+static void
+ob_pci_bridge_cwrite16(void)
+{
+ call_parent_method("config-w!");
+}
+
+static void
+ob_pci_bridge_cread32(void)
+{
+ call_parent_method("config-l@");
+}
+
+static void
+ob_pci_bridge_cwrite32(void)
+{
+ call_parent_method("config-l!");
+}
+
NODE_METHODS(ob_pci_bridge_node) = {
{ "open", ob_pci_open },
{ "close", ob_pci_close },
{ "decode-unit", ob_pci_decode_unit },
{ "encode-unit", ob_pci_encode_unit },
{ "pci-map-in", ob_pci_bridge_map_in },
+ { "config-b@", ob_pci_bridge_cread8 },
+ { "config-b!", ob_pci_bridge_cwrite8 },
+ { "config-w@", ob_pci_bridge_cread16 },
+ { "config-w!", ob_pci_bridge_cwrite16 },
+ { "config-l@", ob_pci_bridge_cread32 },
+ { "config-l!", ob_pci_bridge_cwrite32 },
{ "dma-alloc", ob_pci_dma_alloc },
{ "dma-free", ob_pci_dma_free },
{ "dma-map-in", ob_pci_dma_map_in },
--
2.30.6
2
3