summaryrefslogtreecommitdiffstats
path: root/src/arch/x86/interface/syslinux
Commit message (Collapse)AuthorAgeFilesLines
* [uart] Allow for dynamically registered 16550 UARTsMichael Brown2025-06-221-3/+1Star
| | | | | | | Use the generic UART driver-private data pointer, rather than embedding the generic UART within the 16550 UART structure. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [uart] Allow for the existence of non-16550 UARTsMichael Brown2025-06-201-6/+11
| | | | | | | | | | | | | | | | | | | Remove the assumption that all platforms use a fixed number of 16550 UARTs identifiable by a simple numeric index. Create an abstraction allowing for dynamic instantiation and registration of any number of arbitrary UART models. The common case of the serial console on x86 uses a single fixed UART specified at compile time. Avoid unnecessarily dragging in the dynamic instantiation code in this use case by allowing COMCONSOLE to refer to a single static UART object representing the relevant port. When selecting a UART by command-line argument (as used in the "gdbstub serial <port>" command), allow the UART to be specified as either a numeric index (to retain backwards compatiblity) or a case-insensitive port name such as "COM2". Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [build] Constrain PHYS_CODE() and REAL_CODE() to use i386 registersMichael Brown2025-05-081-2/+2
| | | | | | | | | Inline assembly using PHYS_CODE() or REAL_CODE() must use the "R" constraint rather than the "r" constraint to ensure that the compiler chooses registers that will be valid for the 32-bit or 16-bit assembly code fragment. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [comboot] Remove userptr_t from COM32 API implementationMichael Brown2025-04-291-6/+6
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [comboot] Remove userptr_t from COMBOOT API implementationMichael Brown2025-04-281-39/+21Star
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [uaccess] Remove redundant read_user()Michael Brown2025-04-211-2/+3
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [uaccess] Replace real_to_user() with real_to_virt()Michael Brown2025-04-211-10/+10
| | | | | | | | Remove the intermediate concept of a user pointer from real address conversion, leaving real_to_virt() as the directly implemented function. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [uaccess] Remove user_to_phys() and phys_to_user()Michael Brown2025-04-212-7/+7
| | | | | | | | Remove the intermediate concept of a user pointer from physical address conversions, leaving virt_to_phys() and phys_to_virt() as the directly implemented functions. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [uaccess] Remove redundant memcpy_user() and related string functionsMichael Brown2025-04-212-22/+18Star
| | | | | | | | | | The memcpy_user(), memmove_user(), memcmp_user(), memset_user(), and strlen_user() functions are now just straightforward wrappers around the corresponding standard library functions. Remove these redundant wrappers. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [build] Inhibit linker warnings about an implied executable stackGeert Stappers2023-06-301-0/+1
| | | | | | Signed-off-by: Geert Stappers <stappers@stappers.it> Modified-by: Michael Brown <mcb30@ipxe.org> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [doc] Update user-visible ipxe.org URIs to use HTTPSMichael Brown2022-01-131-1/+1
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [build] Allow __asmcall to be used as a type attributeMichael Brown2021-03-021-3/+3
| | | | | | | | | | | The "used" attribute can be applied only to functions or variables, which prevents the use of __asmcall as a type attribute. Fix by removing "used" from the definition of __asmcall for i386 and x86_64 architectures, and adding explicit __used annotations where necessary. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [librm] Ensure that inline code symbols are uniqueMichael Brown2018-03-211-3/+3
| | | | | | | | | | | | | | | Commit 6149e0a ("[librm] Provide symbols for inline code placed into other sections") may cause build failures due to duplicate label names if the compiler chooses to duplicate inline assembly code. Fix by using the "%=" special format string to include a guaranteed-unique number within the label name. The "%=" will be expanded only if constraints exist for the inline assembly. This fix therefore requires that all REAL_CODE() fragments use a (possibly empty) constraint list. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [comboot] Support COMBOOT in 64-bit buildsMichael Brown2016-04-154-0/+1066
Signed-off-by: Michael Brown <mcb30@ipxe.org>