summaryrefslogtreecommitdiffstats
path: root/src/arch/i386/include/libkir.h
Commit message (Collapse)AuthorAgeFilesLines
* [bios] Add bin-x86_64-pcbios build platformMichael Brown2016-02-161-233/+0Star
| | | | | | | | | | | | | | Move most arch/i386 files to arch/x86, and adjust the contents of the Makefiles and the include/bits/*.h headers to reflect the new locations. This patch makes no substantive code changes, as can be seen using a rename-aware diff (e.g. "git show -M5"). This patch does not make the pcbios platform functional for x86_64; it merely allows it to compile without errors. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [i386] Change semantics of __from_data16 and __from_text16Michael Brown2008-07-011-2/+2
| | | | | | | | | __from_data16 and __from_text16 now take a pointer to a .data16/.text16 variable, and return the real-mode offset within the appropriate segment. This matches the use case for every occurrence of these macros, and prevents potential future bugs such as that fixed in commit d51d80f. (The bug arose essentially because "&pointer" is still syntactically valid.)
* Remove some obsolete sections of librm.h and libkir.h.Michael Brown2007-07-241-25/+25
| | | | Add some of the missing parts to libkir.h.
* Towards making KEEP_IT_REAL work again.Michael Brown2006-08-241-0/+9
| | | | | Fix bug that caused over-allocation of .text16 and .data16 memory areas by a factor of 16.
* Remove the automatic segment register save and restore; most users ofMichael Brown2006-05-241-8/+0Star
| | | | REAL_CODE() don't need it.
* Added potentially required "\n\t" on the end of asm_code_strMichael Brown2006-05-241-14/+1Star
|
* Split out REAL_CODE() from REAL_EXEC(), preparatory to removing REAL_EXECMichael Brown2006-05-241-19/+20
| | | | completely.
* Removed REAL_FRAGMENT and REAL_CALL, and left just REAL_EXEC (which isMichael Brown2006-05-241-65/+84
| | | | | | | | | | | | | | | | | | the only one we actually use). This allows REAL_EXEC fragments to contain proper references to constraints (e.g. "%w0"), rather than having to force the use of specific registers. Note that the "num_constraints" parameter is now completely obsolete, and that we can probably reduce the syntax to something like __asm__ __volatile__ ( REAL_CODE ( "asm statements" ) : output constraints : input constraints : clobber ); which would look much more natural, and avoid the need to always specify a clobber list. Add userptr_t to libkir.h, to allow it to at least compile.
* Add __{text,data}16_array, since there's no way I can see to make theMichael Brown2006-05-241-0/+2
| | | | | | usual __{text,data}16 trick work with arrays. gcc seems to accept the __asm__ ( asmlabel ) only after the [] of the array declaration, not before.
* (Redoing check-in lost by SourceForge's failure.)Michael Brown2006-05-131-0/+2
| | | | | | | Use .text16.data section with "aw" attributes, to avoid section type conflicts when placing both code and data into .text16. Add __from_{text16,data16}.
* Allow access to variables in .text16 as well as .data16. ChainedMichael Brown2006-05-061-1/+3
| | | | | interrupt vectors, for example, will be easiest to handle if placed in .text16.
* Added methods for efficiently declaring and accessing variables inMichael Brown2006-05-041-0/+4
| | | | | .data16. librm will need to supply "char *data16", i.e. the virtual address of the start of .data16.
* Made copy_{to,from}_real volatile, so that they don't get optimised away.Michael Brown2005-04-171-18/+49
| | | | Added REAL_FRAGMENT(), because it could conceivably be useful.
* Merged mcb30-realmode-redesign back to HEADMichael Brown2005-04-081-0/+184