#
46b7da1f |
| 08-May-2022 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
Merge branch 'master' into dev/netservices
Change-Id: I1eb6c2ea2fd0d794ad6378eab8bbb80ce46dfbb8
|
#
ab3c8bea |
| 05-Apr-2022 |
David Karoly <karolyd577@gmail.com> |
gensyscalls: alignment fixup for ARM
ARM ABI has different alignment requirements based on parameter size: * parameters not larger than 4 bytes are aligned on 4 bytes * parameters larger than 4 byte
gensyscalls: alignment fixup for ARM
ARM ABI has different alignment requirements based on parameter size: * parameters not larger than 4 bytes are aligned on 4 bytes * parameters larger than 4 bytes are aligned on 8 bytes
see: Procedure Call Standard for the Arm Architecture sections 5.1, Fundamental Data Types and 6.5, Parameter Passing
Therefore the following changes are introduced in gensyscalls tool: * new optional define SYSCALL_LONG_PARAMETER_ALIGNMENT_TYPE is introduced * it's defined only on ARM * on other architectures it takes on the value of SYSCALL_PARAMETER_ALIGNMENT_TYPE as a default * constants kLongParameterAlignmentType and kLongParameterAlignmentSize are introduced * Syscall::AddParameter uses this value for aligning parameters larger than 4 bytes
Change-Id: I7e766e0ea9d07001643e813722b462b1f044921a Reviewed-on: https://review.haiku-os.org/c/haiku/+/5112 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
show more ...
|
#
45bd7bb3 |
| 25-Jun-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Removed unnecessary inclusions of <boot/kernel_args.h> in private kernel headers and respectively added includes in source files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37259 a95241bf-
Removed unnecessary inclusions of <boot/kernel_args.h> in private kernel headers and respectively added includes in source files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37259 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
59d6284b |
| 27-Nov-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Changed the way the syscall infos are generated. We no longer include the preprocessed <syscalls.h> header in sources compiled for the build platform. Instead we're generating macros for the return t
Changed the way the syscall infos are generated. We no longer include the preprocessed <syscalls.h> header in sources compiled for the build platform. Instead we're generating macros for the return type and parameter type sizes via the CreateAsmStructOffsetsHeader rule (no template magic anymore) and thus get a clear separation of host and target code, resulting in better portability (although surprisingly enough the build already worked on 64 bit hosts).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34323 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
23f179da |
| 25-Nov-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34237 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7200c6f4 |
| 19-Jun-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed warnings. * Automatic whitespace cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31114 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e7c8829c |
| 27-May-2009 |
Jérôme Duval <korli@users.berlios.de> |
strchr(const char*, ...) returns const char* in C++, identified by gcc 4.4.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30882 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cbd4dd19 |
| 25-Feb-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Patch by Vasilis Kaoutsis: Added missing headers. Fixes the build on certain Linux distributions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24109 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ed854de7 |
| 07-Feb-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Also include info about the syscall return type in the extended_syscall_info structure.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23916 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b4f58d87 |
| 21-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Renamed syscall_parameters_info structure to extended_syscall_info (and kSyscallParametersInfos to kExtendedSyscallInfos) and added "name" field. Now the classes for syscall kernel tracing don't need
Renamed syscall_parameters_info structure to extended_syscall_info (and kSyscallParametersInfos to kExtendedSyscallInfos) and added "name" field. Now the classes for syscall kernel tracing don't need to lookup the syscall function symbol anymore, which speeds up printing/filtering of those entries dramatically.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23687 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
19101ba0 |
| 18-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Generate a kernel array kSyscallParametersInfos containing information about syscall parameters. Particularly interesting is a type_code field for each parameter. The mechanism isn't very accurate, b
Generate a kernel array kSyscallParametersInfos containing information about syscall parameters. Particularly interesting is a type_code field for each parameter. The mechanism isn't very accurate, but we can classify everything in string, pointer, and integer types.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23618 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
bbaaf4b7 |
| 18-Jan-2008 |
Jérôme Duval <korli@users.berlios.de> |
gcc4 requires a cast, so we prepend (void *) to cast every syscall function fixed syscall.cpp inclusions due to renaming
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23611 a95241bf-73f2-0310
gcc4 requires a cast, so we prepend (void *) to cast every syscall function fixed syscall.cpp inclusions due to renaming
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23611 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
34b3b26b |
| 11-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merged branch haiku/branches/developer/bonefish/optimization revision 23139 into trunk, with roughly the following changes (for details svn log the branch): * The int 99 syscall handler is now fully
Merged branch haiku/branches/developer/bonefish/optimization revision 23139 into trunk, with roughly the following changes (for details svn log the branch): * The int 99 syscall handler is now fully in assembly. * Added a sysenter/sysexit handler and use it on Pentiums that support it (via commpage). * Got rid of i386_handle_trap(). A bit of functionality was moved into the assembly handler which now uses a jump table to call C functions handling the respective interrupt. * Some optimizations to get user debugger support code out of the interrupt handling path. * Introduced a thread::flags fields which allows to skip handling of rare events (signals, user debug enabling/disabling) on the common interrupt handling path. * Got rid of the explicit iframe stack. The iframes can still be retrieved by iterating through the stack frames. * Made the commpage an architecture independent feature. It's used for the real time data stuff (instead of creating a separate area). * The x86 CPU modules can now provide processor optimized versions for common functions (currently memcpy() only). They are used in the kernel and are provided to the userland via commpage entries. * Introduced build system feature allowing easy use of C structure member offsets in assembly code.
Changes after merging: * Fixed merge conflict in src/system/kernel/arch/x86/arch_debug.cpp (caused by refactoring and introduction of "call" debugger command).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23370 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
2ae56893 |
| 28-Nov-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Reworked the way how the gensyscalls stuff finds out about the sizes and alignments of syscall parameters. It no longer generates and compiles functions with the same signature as the syscalls. This
Reworked the way how the gensyscalls stuff finds out about the sizes and alignments of syscall parameters. It no longer generates and compiles functions with the same signature as the syscalls. This simply doesn't generally work for cross-compilation. Instead we provide a bit of architecture-specific code that knows how things work for the target architecture.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15196 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
50ff7518 |
| 25-Feb-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Don't use int32 in sources to be compiled for the build platform (Daniel Furrer). * The strace interface for the generated file changed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11
* Don't use int32 in sources to be compiled for the build platform (Daniel Furrer). * The strace interface for the generated file changed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11495 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
3f38375a |
| 22-Feb-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Write return and parameter type names into the generated strace file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11446 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
747fcbd3 |
| 11-Feb-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
We generate two more files now: A simple array with the kernel function pointers and overall parameters size for the kernel and some more sophisticated code for strace.
git-svn-id: file:///srv/svn/
We generate two more files now: A simple array with the kernel function pointers and overall parameters size for the kernel and some more sophisticated code for strace.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11339 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
1f90f9aa |
| 30-Sep-2004 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
We do now also generate a header file that defines macros for the syscall numbers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9133 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f740226b |
| 11-Sep-2004 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Removed unnecessary include.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8916 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
91a47969 |
| 10-Sep-2004 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
No need to define the types here, since arch_config.h now uses C types.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8908 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8ad73448 |
| 10-Sep-2004 |
Axel Dörfler <axeld@pinc-software.de> |
gensyscalls.cpp should now build under Linux again.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8902 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d21749db |
| 01-Sep-2004 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Fixed a problem we had with bool parameters (probably with all types that consume more storage when being passed as function parameters).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8784
Fixed a problem we had with bool parameters (probably with all types that consume more storage when being passed as function parameters).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8784 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
efd87ab8 |
| 28-Aug-2004 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Had to change the mechanism for automatically generating most of the boring syscall stuff. It has two phases now: The first one (gensyscallinfos) parses syscalls.h and generates a source file contain
Had to change the mechanism for automatically generating most of the boring syscall stuff. It has two phases now: The first one (gensyscallinfos) parses syscalls.h and generates a source file containing all the required information. This file is compiled and linked to gensyscalls, which generates the actual output files. Added to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8697 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
a8ca1ab3 |
| 22-Aug-2004 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Completed. Properly generates the desired outputs now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8622 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2e463a12 |
| 22-Aug-2004 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
The beginnings of a small tool to parse syscalls.h and generate the assembly file performing the calls and the respective part of kernel syscall dispatcher. The parsing part is done.
git-svn-id: fi
The beginnings of a small tool to parse syscalls.h and generate the assembly file performing the calls and the respective part of kernel syscall dispatcher. The parsing part is done.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8618 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|