[build] Centralise dummy architecture-specific headers

Simplify the process of adding a new CPU architecture by providing
common implementations of typically empty architecture-specific header
files.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2024-09-03 14:56:07 +01:00
parent c7f2e75519
commit 804f35cb5a
45 changed files with 238 additions and 336 deletions

15
src/include/bits/acpi.h Normal file
View File

@@ -0,0 +1,15 @@
#ifndef _BITS_ACPI_H
#define _BITS_ACPI_H
/** @file
*
* Dummy architecture-specific ACPI API implementations
*
* This file is included only if the architecture does not provide its
* own version of this file.
*
*/
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#endif /* _BITS_ACPI_H */

15
src/include/bits/hyperv.h Normal file
View File

@@ -0,0 +1,15 @@
#ifndef _BITS_HYPERV_H
#define _BITS_HYPERV_H
/** @file
*
* Dummy architecture-specific Hyper-V interface
*
* This file is included only if the architecture does not provide its
* own version of this file.
*
*/
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#endif /* _BITS_HYPERV_H */

15
src/include/bits/iomap.h Normal file
View File

@@ -0,0 +1,15 @@
#ifndef _BITS_IOMAP_H
#define _BITS_IOMAP_H
/** @file
*
* Dummy architecture-specific I/O mapping API implementations
*
* This file is included only if the architecture does not provide its
* own version of this file.
*
*/
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#endif /* _BITS_IOMAP_H */

15
src/include/bits/mp.h Normal file
View File

@@ -0,0 +1,15 @@
#ifndef _BITS_MP_H
#define _BITS_MP_H
/** @file
*
* Dummy architecture-specific multiprocessor API implementations
*
* This file is included only if the architecture does not provide its
* own version of this file.
*
*/
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#endif /* _BITS_MP_H */

15
src/include/bits/nap.h Normal file
View File

@@ -0,0 +1,15 @@
#ifndef _BITS_NAP_H
#define _BITS_NAP_H
/** @file
*
* Dummy architecture-specific CPU sleeping API implementations
*
* This file is included only if the architecture does not provide its
* own version of this file.
*
*/
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#endif /* _BITS_NAP_H */

15
src/include/bits/pci_io.h Normal file
View File

@@ -0,0 +1,15 @@
#ifndef _BITS_PCI_IO_H
#define _BITS_PCI_IO_H
/** @file
*
* Dummy architecture-specific PCI I/O API implementations
*
* This file is included only if the architecture does not provide its
* own version of this file.
*
*/
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#endif /* _BITS_PCI_IO_H */

15
src/include/bits/reboot.h Normal file
View File

@@ -0,0 +1,15 @@
#ifndef _BITS_REBOOT_H
#define _BITS_REBOOT_H
/** @file
*
* Dummy architecture-specific reboot API implementations
*
* This file is included only if the architecture does not provide its
* own version of this file.
*
*/
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#endif /* _BITS_REBOOT_H */

View File

@@ -0,0 +1,15 @@
#ifndef _BITS_SANBOOT_H
#define _BITS_SANBOOT_H
/** @file
*
* Dummy architecture-specific sanboot API implementations
*
* This file is included only if the architecture does not provide its
* own version of this file.
*
*/
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#endif /* _BITS_SANBOOT_H */

15
src/include/bits/smbios.h Normal file
View File

@@ -0,0 +1,15 @@
#ifndef _BITS_SMBIOS_H
#define _BITS_SMBIOS_H
/** @file
*
* Dummy architecture-specific SMBIOS API implementations
*
* This file is included only if the architecture does not provide its
* own version of this file.
*
*/
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#endif /* _BITS_SMBIOS_H */

32
src/include/bits/tcpip.h Normal file
View File

@@ -0,0 +1,32 @@
#ifndef _BITS_TCPIP_H
#define _BITS_TCPIP_H
/** @file
*
* Generic architecture-specific transport-network layer interface
*
* This file is included only if the architecture does not provide its
* own version of this file.
*
*/
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#include <stdint.h>
/**
* Calculate continued TCP/IP checkum
*
* @v partial Checksum of already-summed data, in network byte order
* @v data Data buffer
* @v len Length of data buffer
* @ret cksum Updated checksum, in network byte order
*/
static inline __attribute__ (( always_inline )) uint16_t
tcpip_continue_chksum ( uint16_t partial, const void *data, size_t len ) {
/* Not yet optimised */
return generic_tcpip_continue_chksum ( partial, data, len );
}
#endif /* _BITS_TCPIP_H */

15
src/include/bits/time.h Normal file
View File

@@ -0,0 +1,15 @@
#ifndef _BITS_TIME_H
#define _BITS_TIME_H
/** @file
*
* Dummy architecture-specific time API implementations
*
* This file is included only if the architecture does not provide its
* own version of this file.
*
*/
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#endif /* _BITS_TIME_H */

View File

@@ -0,0 +1,15 @@
#ifndef _BITS_UACCESS_H
#define _BITS_UACCESS_H
/** @file
*
* Dummy architecture-specific user access API implementations
*
* This file is included only if the architecture does not provide its
* own version of this file.
*
*/
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#endif /* _BITS_UACCESS_H */

15
src/include/bits/uart.h Normal file
View File

@@ -0,0 +1,15 @@
#ifndef _BITS_UART_H
#define _BITS_UART_H
/** @file
*
* Dummy architecture-specific UART
*
* This file is included only if the architecture does not provide its
* own version of this file.
*
*/
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#endif /* _BITS_UART_H */

View File

@@ -0,0 +1,15 @@
#ifndef _BITS_UMALLOC_H
#define _BITS_UMALLOC_H
/** @file
*
* Dummy architecture-specific user memory allocation API implementations
*
* This file is included only if the architecture does not provide its
* own version of this file.
*
*/
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#endif /* _BITS_UMALLOC_H */

16
src/include/bits/xen.h Normal file
View File

@@ -0,0 +1,16 @@
#ifndef _BITS_XEN_H
#define _BITS_XEN_H
/** @file
*
* Dummy architecture-specific Xen interface
*
* This file is included only if the architecture does not provide its
* own version of this file.
*
*/
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#include <ipxe/nonxen.h>
#endif /* _BITS_XEN_H */