1
0
mirror of https://github.com/deadw00d/AROS.git synced 2026-03-19 11:39:53 +00:00

303 Commits

Author SHA1 Message Date
66d076b347 # adapt arch specific kernel/exec code to use the new macros from mmake, when generating and consuming the necessary include directives for the build.cfg.in # remove the hard coded exec/kernel private header directives from the config files. # detect if the at symbol can be used instead of the hash symbol to silence section attrib warnings. # provide a correct cpu context for the riscv build, and various other definitions needed. # implement enough boilerplate code to at least get make && make distfiles to complete for the riscv target for now. 2024-05-02 16:24:50 +02:00
b3ceb2c34d Adjust to buildsdk changes 2023-01-23 18:52:17 +01:00
e214745d95 Disambiguate parameter size as long has different size 32 vs 64 bit
Debug -> flags -> keep 32-bit
MUI_AllocAslReqiest -> flags -> keep 32-bit
AddFreeList -> size of memory -> set to IPTR following Alloc* functions

This solves https://github.com/deadw00d/AROS/issues/72
2022-06-02 15:23:33 +02:00
bd2664b1d6 arch: detabbed 2021-05-02 14:22:22 +02:00
37d6884291 mmakefile*: header fixes
copyright sign unfied to (C)
$Id$ removed
2021-05-02 13:52:04 +02:00
a58f5dc15c copyright header fixed
copyright sign unified to (C)
$Id$ removed
Lang: removed
2021-05-02 13:46:08 +02:00
1da1bfe5fc expand the $(CPU) part of includes-asm_h locally, instead of in individual mmakefiles, so that metamake doesnt choke on it. make sure that includes-copy has completed before generating asm.h -> it requires the afore-mentioned headers. 2021-05-01 13:16:52 +02:00
84235f2db1 clean up some makefile issues. (NicJA)
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@55720 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2019-02-23 09:58:02 +00:00
07f8ac6c58 * config/make.tmpl build_module: create modules in a subdir based on modname, to prevent cross contamination in mmakefiles that build more than one module where arch specific files for modules ended up getting used by all the modules corrupting memory.
build_archspecific: use the same paramater name for the module as build_module. use the correct modname based gendir to generate files, and allow a hardcoded objdir to be specified.
  * compiler/stdc/stdcio.conf        : adjust offsets to match stdc
  * */mmakefile.src                  : various fixes to compile from the correct locations due to the changes in make.tmpl. 

git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@55345 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2018-06-18 06:17:11 +00:00
d3fb81c5d8 # fixes and clean-up after kernel/exec changes.
# remove the unused _self pointer from TLS but allocate storage for cached copy of the CPU number.
# move cpuid_t and apicid_t definitions to cpu.h since they may be needed/used outside the kernel/exec.
# fixes to the IOAPIC code (still incomplete).


git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@53584 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2017-02-11 06:24:48 +00:00
4e585a7fe7 $(TOP)/config/make.cfg -> $(SRCDIR)/config/aros.cfg
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@52311 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2016-03-28 13:47:02 +00:00
d6fbec2133 Restored the inappropriately deleted x86 implementation of
CacheClearE(). The code is unchanged, but the comments have been updated 
(removed the duplicate AutoDoc, but kept and clarified the 'Internals' 
section).

The associated Exec_Wbinvd() assembly function is also restored (by 
resurrecting part of the old corelow.S as cache.S).


git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@50701 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2015-05-17 23:07:45 +00:00
d688a1173c Removed autodocs of arch specific variants of ROM modules.
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@47740 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2013-07-20 11:30:00 +00:00
32530289e7 Fixes to comments and strings.
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@46058 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2012-11-21 01:25:27 +00:00
23285f2c47 Decoupled kernel and exec. kernel doesn't play with exec's private stuff any more. et_RegFrame is used to store CPU context pointer; iet_Context removed. exec.library/Dispatch() is back, will be used for service purposes.
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@42505 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-11-17 07:52:18 +00:00
e3f771fc2e Completed i386-pc kernel
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@42353 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-11-09 16:29:14 +00:00
0046312c09 - Got rid of early boot task allocation, at last...
- Adapted the rest of ports (blind cut-paste, not tested)

git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@42167 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-11-01 08:45:00 +00:00
22d0b127d2 Refer to SysBase by name, not by 4 address. Allows to move SysBase away.
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@42114 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-10-29 19:15:02 +00:00
c6e0e95e5c Adapted to base code changes so that mungwall works correctly again (do not attempt to FreeMem() Allocate()d memory)
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@42084 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-10-27 14:16:36 +00:00
ba39b9a74b pc-any: Compiler delint
Signed-off-by: Jason S. McMullan <jason.mcmullan@gmail.com>

git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@41984 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-10-22 21:50:20 +00:00
3b152f818a build: Unify the header override list for rom/kernel and rom/exec
This fixes some issues where the wrong exec_platform.h was being
included in linux-x86_64 and amiga-m68k

Signed-off-by: Jason S. McMullan <jason.mcmullan@gmail.com>

git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@41982 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-10-22 21:50:04 +00:00
33bb20d18d Removed obsolete file
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@41960 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-10-21 18:45:51 +00:00
4bd2a525ee Skip NULL characters. Fixed log stopping at first \0.
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@41903 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-10-17 18:29:01 +00:00
ef9dc66bce ClearCacheE: explicitly handle requests for full CPU flush.
Add note on partial cpu cache flushes.

git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@41430 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-09-18 08:53:09 +00:00
9634977566 Fixed task structure size. This fixes memory corruption when boot task is removed
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@41260 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-09-11 16:59:34 +00:00
4738ed2383 - - Rewritten startup code. GDT, IDT and TSS moved away from zero page.
- Use libbootconsole for debug output, can now print output on VESA screen.
- Merged some more code with x86-64

git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@41249 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-09-10 18:15:49 +00:00
e442c72868 Build fix.
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@41237 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-09-10 08:36:56 +00:00
3c8b0f1af8 Solved conflicts
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@41148 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-09-06 18:31:02 +00:00
3a0cc2a7a9 - Rearranged code. Kickstart startup code moved to kernel.resource. Memory scanning and VESA setup code moved to bootstrap. Use new memory list creation code, kernel.resource startup code almost complete.Merged most of exec.library initialization code. Removed architecture-specific bootloader.resource code.
Needs recheck with recent ABI v1 changes. Likely broken.

git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@41118 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-09-04 20:20:29 +00:00
94cca2b961 arossupport: Implement alternative global stack that can be used without interference with function argument passing.
Implementation for i386, x86_64 and m68k; PPC is untested; ARM has #error in newstackswap.s

Add initialization so that programs started with NewAddTask or programs
that use NewStackSwap may use these functions. AddTask and StackSwap are
not supported and are deprecated.

Stack location from kickstart is passed into PrepareExecBase so it can be
used for the boot task.

This patch is co-developed with Jason McMullan.

git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@41077 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-09-04 16:51:40 +00:00
306f1f1ee2 Removed debugging halt, sorry for this.
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@41068 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-09-04 14:08:48 +00:00
18b3ada6fd Deleted unused variable, fixed warning
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@40941 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-08-28 18:08:24 +00:00
4a7109ec7c Some i386-pc port upgrade:
- Fixed clearing .bss sections. Clear them for all modules.
- Use ExecBase initialization routine from base code. Reduces code duplication.
- Make sure the whole SysBase is cleared before initialization, when creating new SysBase. Fixes random crashes when KickMemPtr and KickTagPtr contained some trash.
- Separated modules from bootstrap. Now bootstrap is just bootstrap, nothing more.
Still not fixed:
- Warm reboot.
- Own bootloader.resource
Base is not separated from BSP yet.

git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@40933 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-08-28 16:45:59 +00:00
0724ee9c11 - Include aros/config.h at almost all places where AROS_FLAVOUR is used.
- Fixed InitBootConfig() to open bootloader.resource if needed.

git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@40531 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-08-03 17:43:00 +00:00
2d59f6afca Include path fixed.
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@40489 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-08-02 06:01:57 +00:00
59b83d05c6 arch/i386-pc: Use inb(0x80) instead of multiplies for delay loops
This isn't the best way to do this, but it will have to suffice until we have
rewritten the drivers to use timer.device

Signed-off-by: Jason S. McMullan <jason.mcmullan@gmail.com>

git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@40130 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-07-14 20:33:01 +00:00
8058887871 Megred PC-specific ShutdownA() implementation. Now works on both i386 and x86-64.
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@40018 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-07-12 05:02:43 +00:00
b582b7e547 fix i386 build to reflect recent exec lvo changes
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@40016 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-07-11 23:59:40 +00:00
a5e23d7a65 -Attempt at fixing i386-pc build, added library vector numbers to Exec names
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@39930 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-07-09 12:44:38 +00:00
3ac364d017 -Exec_105_CopyMemQuick should be patched with Exec_104_CopyMEM_SSE
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@39928 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-07-09 07:19:24 +00:00
6562e7126a arch/i386: Fix some missing AROS_SLIB_ENTRY() conversions
Tested on linux-i386

Signed-off-by: Jason S. McMullan <jason.mcmullan@gmail.com>

git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@39927 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-07-09 05:59:48 +00:00
9a4a4813b1 AROS_SLIB_ENTRY: Changed from 2 parameters to 3, to allow link-time detection of LVO mismatches
Symbols named by AROS_SLIB_ENTRY(func,base,lvo) are now named as
base_lvo_func (ie Dos_8_Write) instead of the old style of base_func
(ie Dos_Write). genmodule's autogenerated base_start.c file has been
updated to match, and the AROS_LH* routines use the new macro.

What this means is that is the module.conf file does not match your
AROS_LH* definitions, then you will get a link time error, ie:

Uresolved symbol:  Dos_8_Write

If there was no AROS_LH3(ULONG, Write,...., struct DosLibrary *, DOSBase, 8, Dos)
in the compiled code.

Since in ABIv1, we're probably going to be doing some LVO work with the
*.conf files (Morphos and AmigaOS 4 compatability fixes), this will probably
come in handy to make sure we don't break anything.

Signed-off-by: Jason S. McMullan <jason.mcmullan@netronome.com>

git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@39924 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-07-08 15:37:34 +00:00
220de4c73b arch/i386-pc: Compiler delint
Signed-off-by: Jason S. McMullan <jason.mcmullan@netronome.com>

git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@39323 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-06-17 05:50:58 +00:00
393de569f5 Do not try to get stack pointer from invalid ESP field, which coincidentally
is at same address as pre-trap stack. Reverts r34376.


git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@38677 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-05-13 22:18:49 +00:00
208aafee6e Added missing dependency, should fix i386-bootfloppy
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@38417 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-04-29 05:13:52 +00:00
67e51ef75a Added necessary #include which went missing from aros/multiboot.h
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@37714 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-03-22 07:22:50 +00:00
906ac8358a Fixed supplying ExecBase to InternalAllocAbs()
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@37623 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-03-17 06:25:38 +00:00
9403faa7e4 Reworked AllocAbs()/FreeMem() pair, now has internal non-mungwalled versions for critical allocations. It's again safe to call FreeMem() on AllocAbs()ed regions.
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@37613 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-03-16 14:21:24 +00:00
6a6e9e313a - Fixed reversed arguments to AllocAbs().
- Stop searching for ACPI RSD once it's found.


git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@37516 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-03-13 23:50:53 +00:00
abcce6115a Removed obsolete function names
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@37367 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
2011-03-05 07:21:02 +00:00