summaryrefslogtreecommitdiff
path: root/com32/sysdump
Commit message (Collapse)AuthorAgeFilesLines
* com32: Use z size specifier for printf-ing size_t variableMartin Str|mberg2015-01-051-2/+2
| | | | | | | | | Use the z size specifier to printf-ing size_t variables to get rid of gcc warning format ‘%08x’ expects type ‘unsigned int’, but argument 2 has type ‘long unsigned int’ Author: Martin Str|mberg <ams@ludd.ltu.se> Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
* build: sort sources to build in a more deterministic wayPhilippe Coval2015-01-051-2/+2
| | | | | | | | | | | | | | | | | It has been observed that binaries contents are depending on the order of linked objects. This order is caused by GNU make's wildcard function and the position of sources on filesystem. This change tries to prevent this kind of randomness. Also consider building using -j1 flag to make it even more reproductible. Change-Id: Ie8eee7f336e6f1fa2863c4150d967afd15519f1d Bug: http://bugzilla.syslinux.org/show_bug.cgi?id=57#related Signed-off-by: Philippe Coval <philippe.coval at open.eurogiciel.org>
* sysdump: Remove README that was for memdump, not sysdumpH. Peter Anvin2014-06-101-19/+0
| | | | | | | Sysdump was forked from memdump, but the README was never fixed. It should be updated, but until then, delete it. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* com32sys_t inreg shall be zeroified prior intcallErwan Velu2014-01-222-0/+3
| | | | | | | | | | | As per commit f775e740a3a817a4ff5ba26bea99dbfd735456b3, inreg parameters of intcall() shall be zeroified. Having unclean inreg could trigger bad behaviors on some hosts. This patch is about adding memset() calls prior any intcall() : - some intcall didn't had any memset at all - some successive intcall() calls didn't memset inreg in between calls
* Merge tag 'syslinux-5.01' into firmwaresyslinux-6.00-pre4Matt Fleming2013-01-291-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: Makefile NEWS com32/cmenu/Makefile com32/elflink/ldlinux/Makefile com32/gfxboot/Makefile com32/gpllib/Makefile com32/include/sys/module.h com32/lib/Makefile com32/lib/sys/module/elf_module.c com32/menu/Makefile com32/rosh/Makefile com32/samples/Makefile core/init.c mk/elf.mk Signed-off-by: Matt Fleming <matt.fleming@intel.com>
| * Always strip all the modulesH. Peter Anvin2013-01-171-1/+1
| | | | | | | | | | | | | | | | Always strip the modules; they are too big unstripped. Specifically, we generate unstripped *.elf files, and then convert them to stripped *.c32 files. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | Merge tag 'syslinux-5.00' into firmwaresyslinux-6.00-pre3Matt Fleming2012-12-071-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: Makefile com32/elflink/ldlinux/Makefile com32/lib/sys/module/elf_module.c core/cleanup.c core/comboot.inc core/conio.c core/fs/fs.c core/init.c core/mem/free.c core/mem/malloc.c core/timer.inc diag/geodsp/Makefile extlinux/main.c mk/embedded.mk modules/Makefile Signed-off-by: Matt Fleming <matt.fleming@intel.com>
| * Delete 16-bit COMBOOT supportsyslinux-5.00Matt Fleming2012-12-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | 16-bit COMBOOT files are no longer supported by Syslinux in 5.00 so delete all references and change any 32-bit COMBOOT image references to mention ELF instead. Some of the COMBOOT stuff is still used internally so we can't nuke core/comboot.inc yet, but that will disappear in a future release. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* | Add per-firmware object directory supportMatt Fleming2012-10-161-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we have multiple firmware backends it no longer makes sense to write object files to the same directory as their source. A better solution is to write the object files to a per-firmware directory under a top-level object directory. The top-level object directory can be specified on the command-line with the O= variable, e.g. make O=/tmp/obj. If no top-level object directory is specified an 'obj' directory is created in the top-level of the Syslinux source repository. All the existing make targets continue to work as before, however now they apply to all firmware backends, e.g. 'make installer' will build the BIOS, 32-bit EFI and 64-bit EFI installers and place them under $(OBJ)/bios, $(OBJ)/efi32 and $(OBJ)/efi64 respectively. Note unlike every other bit of Syslinux, the gpxe objects are still kept in the src directory, e.g. gpxe/src, since gpxe is only required by the BIOS backend. It is possible to specify a make target for a specific firmware or list of firmware with the following syntax, make [firmware[,firmware]] [target[,target]] To clean the object directory for just the BIOS firmware type, 'make bios clean' To build both the 32-bit and 64-bit EFI installers type, 'make efi32 efi64 installer' Since the Syslinux make infrastructure is now more complex a new file doc/building.txt has been created to explain how to build Syslinux. The top-level Makefile now exports some make variables for use in module Makefiles, - topdir - the top-level source directory of the Syslinux repository, e.g. /usr/src/syslinux - objdir - the top-level object directory for the firmware backend currently being built, e.g. /obj/syslinux/bios - SRC - the source directory in the Syslinux repository for the module currently being built, e.g. /usr/src/syslinux/com32/libupload - OBJ - the object directory for the module currently being built, e.g. /obj/syslinux/bios/com32/libupload Since we're rewriting the Makefile infrastructure anyway it seemed like a good idea to add parallel support. By writing subdirectories as prequisites for make targets the objects in those subdirectories can be built in parallel. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* | Archicture-dependent get_cpuid in sysdump/cpuid is fixed.chandramouli narayanan2012-06-251-0/+11
|/ | | | | | | | | | | In the following sample programs zzjson.c, advdump.c, entrydump.c, hello.c, resolv.c, serialinfo.c in com32/samples, the following code call hangs the program: openconsole(&dev_null_r, &dev_stdcon_w); The following fix works: openconsole(&dev_rawcon_r, &dev_ansiserial_w); Remanants of the unused old i386-only files, if any, need to be pruned.
* elflink: Make ELF the default object formatMatt Fleming2011-04-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | com32/elflink/modules was originally created to house ELF modules and keep them separate from the COM32 modules as the elflink branch was being developed. However, this has inadvertently created a maintenance nightmare because code was copied from elsewhere in the tree into com32/elflink/modules, resulting in duplication. Bug fixes have been going into the original code but have not been merged onto the elflink branch, leaving the duplicate code in com32/elflink/modules buggy. So let's delete this directory. There really is no reason to keep ELF and COM32 modules separate because there's no reason to need both COM32 and ELF modules to coexist. ELF is a far superior object file format and all modules are not emitted as ELF objects. Now that we're outputting ELF modules we can use dynamic memory instead of the cs_bounce bounce buffer. This commit requires a certain amount of shuffling for some files. quicksort.c isn't a module and belongs as part of the util library. cli.h belongs in com32/include so that other modules can make use of the cli code in ldlinux.c32. All libraries are now ELF shared libraries which are only loaded to fixup unresolved symbols for executable modules and renamed from *.a to *.c32. This reduces the runtime memory footprint because libraries are only loaded when needed and because every executable no longer gets its own copy of code/data (as it would if linking with a static library). Also, remove MINLIBOBJS from libcom32.c32 because it is already part of libcom32min.a and we don't want to have any duplicate symbols between the core (which links with libcom32min.a) and libcom32.c32. Welcome to the New World Order of ELF modules! Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
* com32: console is already initialised when we enter main()Matt Fleming2011-04-261-1/+0
| | | | | | | | | There's no need to initialise the console when we enter main() as ldlinux.c32 will already have initialised it for us. Leaving the calls to openconsole() causes the console settings to be reset whenever we run a module. Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
* sysdump: add $(LIBS) to the link ruleH. Peter Anvin2011-04-261-1/+1
| | | | | | $(C_LIBS) doesn't include $(LIBS) so we need to add it explicitly. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Merge remote-tracking branch 'mfleming/for-hpa/makefile-cleanup'H. Peter Anvin2011-04-261-3/+4
|\ | | | | | | | | | | | | | | Resolved Conflicts: com32/hdt/Makefile com32/sysdump/Makefile Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * sysdump: Delete superfluous $(LIBS) prerequisiteMatt Fleming2011-04-161-2/+1
| | | | | | | | | | | | | | com32.mk already includes the necessary libraries in $(C_LIBS), we don't need to list them again in $(LIBS). Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
| * Makefile: Move Makefile fragments into mk/Matt Fleming2011-04-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the MCONFIG files into a mk/ directory and give them more descriptive names. This is purely a cosmetic change to make the 'include' directives a bit more coherent by making it obvious exactly which MCONFIG file we're including. For example, in com32/lua/src/Makefile we exchange the line, include ../../MCONFIG for the much more comprehensible, include $(MAKEDIR)/com32.mk Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
* | sysdump: Fixing includesErwan Velu2011-03-1610-11/+5
| | | | | | | | This patch remove ugly relative includes like ../something.h
* | sysdump: removing useless fileErwan Velu2011-03-161-2/+0
| | | | | | | | Data.h is not used, so let's remove it
* | libupload: New library to manage uploadsErwan Velu2011-03-1522-3098/+41
|/ | | | | | | | This commit creates a library to upload content via 3 backends (srec/ymodem/tftp). Code came from sysdump and got librarized for being used more easily by more other com32 modules.
* sysdump, be_srec: increment the addressH. Peter Anvin2010-06-221-0/+1
| | | | | | Need to increment the address for each srec... Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* sysdump: output S-records to the consoleH. Peter Anvin2010-06-223-0/+86
| | | | | | | | | Sometimes we have a console path that can be captured (virtual machine, serial console, ...) but no realistic path for two-way or binary communication. Add an option to output S-records to the console as an inefficient but hopefully reliable way to get data out. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* sysdump: smarter ACPI dumpH. Peter Anvin2010-06-213-19/+288
| | | | | | | | Follow the XSDT as well as the RSDT, at least as long as we can do that with 32-bit addresses. Actually keep track of what we have already dumped. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: make TFTP server optionalH. Peter Anvin2010-06-211-3/+23
| | | | | | Make entering the TFTP server optional (defaults to boot server). Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: dump ACPI informationH. Peter Anvin2010-06-183-0/+177
| | | | | | Dump ACPI tables. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* sysdump: use lmalloc/lfreeH. Peter Anvin2010-06-182-3/+10
| | | | | | Use lmalloc/lfree instead of using the fixed (obsolete) bounce buffer. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* sysdump: tftp: use lmalloc(), and set the gatewayH. Peter Anvin2010-06-181-6/+21
| | | | | | | Use lmalloc() rather than the fixed (obsolete) bounce buffer, and set the gateway for PXE stacks that need it. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* sysdump: use <sys/cpu.h>H. Peter Anvin2010-05-111-21/+1
| | | | | | Use <sys/cpu.h> where it makes sense. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: guard against a nonsensical month numberH. Peter Anvin2010-02-141-0/+7
| | | | | | If the month is off the table, don't even try to read it... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: don't force cpuid() to be inlinedH. Peter Anvin2010-02-141-2/+1
| | | | | | The compiler can usually decide that better than we can... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Merge branch 'master' into pathbasedsyslinux-4.00-pre20H. Peter Anvin2010-02-141-2/+2
| | | | | | | | | | Resolved Conflicts: com32/Makefile com32/include/syslinux/pxe.h core/pxelinux.asm core/syslinux.ld Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: quiet gcc warningH. Peter Anvin2010-02-081-1/+2
| | | | | | Null change to quiet a gcc warning. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: use the same serial receive threshold as the coresyslinux-3.85-pre9H. Peter Anvin2010-02-071-1/+1
| | | | | | Match the core with regards to the serial receive threshold. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: make ymodem work even on a serial consoleH. Peter Anvin2010-02-073-13/+47
| | | | | | | | | Make it possible to do a ymodem transfer even on the port used for a serial console. Furthermore, on a serial console, get the parameters from the serial console information, so port number and speed don't have to be specified. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: don't include final null byte in version fileH. Peter Anvin2010-02-071-1/+1
| | | | | | We don't want the null byte at the end as part of the version file. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: ymodem: actually retransmit a block if we get NAKH. Peter Anvin2010-02-071-2/+2
| | | | | | | Incorrectly nested loops, we need to actually retransmit if we get a NAK reply... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: actually make the new backend system worksyslinux-3.85-pre8H. Peter Anvin2010-02-077-57/+72
| | | | | | With these changes, both TFTP and Ymodem seem to actually work. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: change to a two-phase generate/output model, buffer in memoryH. Peter Anvin2010-02-0710-193/+183
| | | | | | | | Instead of outputting data as it is generated, buffer it all in memory and then output it all at once. This not only gives us exact size and so on before we start, but turns out to be faster at least for TFTP. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: serial: add missing header fileH. Peter Anvin2010-02-071-0/+1
| | | | | | Missing header file -> warning. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: be_tftp.c: fix prototypeH. Peter Anvin2010-02-071-1/+3
| | | | | | The init function now takes an additional length argument. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: *actually* generate the proper version stringH. Peter Anvin2010-02-071-2/+7
| | | | | | Make the gen-id.sh script actually do the right thing... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: handle the case of more than one DMI tableH. Peter Anvin2010-02-071-4/+11
| | | | | | | | On the offchance a system has more than one valid DMI table, record them all. Also record the address of the signature structure and of the table itself. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: record the sysdump version used to generate a bundleH. Peter Anvin2010-02-072-1/+15
| | | | | | Record the sysdump version used to actually generate a data set. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: dump CPUID informationsyslinux-3.85-pre7H. Peter Anvin2010-02-073-0/+115
| | | | | | | Dump CPUID information in as generic of a way as is possible, given the ugliness in certain places. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: remove unused variableH. Peter Anvin2010-02-071-1/+0
| | | | Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: be more explicit about what we are doingH. Peter Anvin2010-02-064-2/+9
| | | | | | | Print more information on the console about what is going on. That can help detect problems if we find a machine which hangs on sysdump. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: fix the dumping of the e820 memory informationH. Peter Anvin2010-02-061-0/+1
| | | | | | Need to advance the pointer... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: fix hacking of the DMI structure addressH. Peter Anvin2010-02-061-7/+4
| | | | | | Fix the hacking of the DMI structure address, for dmidecode's sake. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: dump memory map informationH. Peter Anvin2010-02-063-0/+82
| | | | | | Dump the memory map information - e820 et al. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: add PCI config space dumpingH. Peter Anvin2010-02-064-1/+72
| | | | | | Dump PCI configuration space. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: add support for dumping DMI tablesH. Peter Anvin2010-02-066-91/+136
| | | | | | | Add support for dumping DMI tables; hopefully in a way that is compatible with dmidecode. Signed-off-by: H. Peter Anvin <hpa@zytor.com>