Re: PATCH: Make pci-bios function ids per machine type

From: Brian Gerst (bgerst@didntduck.org)
Date: Fri Mar 21 2003 - 16:00:52 EST


Wouldn't this be better?

#ifdef CONFIG_PC9800
#define PCIBIOS_PCI_FUNCTION_ID 0xcc80
#else
#define PCIBIOS_PCI_FUNCTION_ID 0xb100
#endif

#define PCIBIOS_PCI_BIOS_PRESENT PCIBIOS_PCI_FUNCTION_ID+1
#define PCIBIOS_FIND_PCI_DEVICE PCIBIOS_PCI_FUNCTION_ID+2
...

Alan Cox wrote:
> Yes NEC use *different* function numbers!!
>
> diff -u --new-file --recursive --exclude-from /usr/src/exclude linux-2.5.65/arch/i386/pci/pcbios.c linux-2.5.65-ac2/arch/i386/pci/pcbios.c
> --- linux-2.5.65/arch/i386/pci/pcbios.c 2003-02-10 18:37:58.000000000 +0000
> +++ linux-2.5.65-ac2/arch/i386/pci/pcbios.c 2003-02-14 23:04:05.000000000 +0000
> @@ -5,22 +5,9 @@
> #include <linux/pci.h>
> #include <linux/init.h>
> #include "pci.h"
> +#include "pci-functions.h"
>
>
> -#define PCIBIOS_PCI_FUNCTION_ID 0xb1XX
> -#define PCIBIOS_PCI_BIOS_PRESENT 0xb101
> -#define PCIBIOS_FIND_PCI_DEVICE 0xb102
> -#define PCIBIOS_FIND_PCI_CLASS_CODE 0xb103
> -#define PCIBIOS_GENERATE_SPECIAL_CYCLE 0xb106
> -#define PCIBIOS_READ_CONFIG_BYTE 0xb108
> -#define PCIBIOS_READ_CONFIG_WORD 0xb109
> -#define PCIBIOS_READ_CONFIG_DWORD 0xb10a
> -#define PCIBIOS_WRITE_CONFIG_BYTE 0xb10b
> -#define PCIBIOS_WRITE_CONFIG_WORD 0xb10c
> -#define PCIBIOS_WRITE_CONFIG_DWORD 0xb10d
> -#define PCIBIOS_GET_ROUTING_OPTIONS 0xb10e
> -#define PCIBIOS_SET_PCI_HW_INT 0xb10f
> -
> /* BIOS32 signature: "_32_" */
> #define BIOS32_SIGNATURE (('_' << 0) + ('3' << 8) + ('2' << 16) + ('_' << 24))
>
> diff -u --new-file --recursive --exclude-from /usr/src/exclude linux-2.5.65/include/asm-i386/mach-default/pci-functions.h linux-2.5.65-ac2/include/asm-i386/mach-default/pci-functions.h
> --- linux-2.5.65/include/asm-i386/mach-default/pci-functions.h 1970-01-01 01:00:00.000000000 +0100
> +++ linux-2.5.65-ac2/include/asm-i386/mach-default/pci-functions.h 2003-02-14 22:54:22.000000000 +0000
> @@ -0,0 +1,19 @@
> +/*
> + * PCI BIOS function numbering for conventional PCI BIOS
> + * systems
> + */
> +
> +#define PCIBIOS_PCI_FUNCTION_ID 0xb1XX
> +#define PCIBIOS_PCI_BIOS_PRESENT 0xb101
> +#define PCIBIOS_FIND_PCI_DEVICE 0xb102
> +#define PCIBIOS_FIND_PCI_CLASS_CODE 0xb103
> +#define PCIBIOS_GENERATE_SPECIAL_CYCLE 0xb106
> +#define PCIBIOS_READ_CONFIG_BYTE 0xb108
> +#define PCIBIOS_READ_CONFIG_WORD 0xb109
> +#define PCIBIOS_READ_CONFIG_DWORD 0xb10a
> +#define PCIBIOS_WRITE_CONFIG_BYTE 0xb10b
> +#define PCIBIOS_WRITE_CONFIG_WORD 0xb10c
> +#define PCIBIOS_WRITE_CONFIG_DWORD 0xb10d
> +#define PCIBIOS_GET_ROUTING_OPTIONS 0xb10e
> +#define PCIBIOS_SET_PCI_HW_INT 0xb10f
> +
> diff -u --new-file --recursive --exclude-from /usr/src/exclude linux-2.5.65/include/asm-i386/mach-pc9800/pci-functions.h linux-2.5.65-ac2/include/asm-i386/mach-pc9800/pci-functions.h
> --- linux-2.5.65/include/asm-i386/mach-pc9800/pci-functions.h 1970-01-01 01:00:00.000000000 +0100
> +++ linux-2.5.65-ac2/include/asm-i386/mach-pc9800/pci-functions.h 2003-02-14 23:00:56.000000000 +0000
> @@ -0,0 +1,20 @@
> +/*
> + * PCI BIOS function codes for the PC9800. Different to
> + * standard PC systems
> + */
> +
> +/* Note: PC-9800 confirms PCI 2.1 on only few models */
> +
> +#define PCIBIOS_PCI_FUNCTION_ID 0xccXX
> +#define PCIBIOS_PCI_BIOS_PRESENT 0xcc81
> +#define PCIBIOS_FIND_PCI_DEVICE 0xcc82
> +#define PCIBIOS_FIND_PCI_CLASS_CODE 0xcc83
> +/* PCIBIOS_GENERATE_SPECIAL_CYCLE 0xcc86 (not supported by bios) */
> +#define PCIBIOS_READ_CONFIG_BYTE 0xcc88
> +#define PCIBIOS_READ_CONFIG_WORD 0xcc89
> +#define PCIBIOS_READ_CONFIG_DWORD 0xcc8a
> +#define PCIBIOS_WRITE_CONFIG_BYTE 0xcc8b
> +#define PCIBIOS_WRITE_CONFIG_WORD 0xcc8c
> +#define PCIBIOS_WRITE_CONFIG_DWORD 0xcc8d
> +#define PCIBIOS_GET_ROUTING_OPTIONS 0xcc8e /* PCI 2.1 only */
> +#define PCIBIOS_SET_PCI_HW_INT 0xcc8f /* PCI 2.1 only */
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Mar 23 2003 - 22:00:38 EST