New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make AROS CDVDFS work on AmigaOS (again) #637
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Contributor
reinauer
commented
Feb 10, 2024
- GFLG_GADGHIGHBITS: Fix incorrect usages.
- rom/filesys/afs: Fix issue where OpenFromLock() returns NULL on success
- Fix for adding windows entry to grub
- Adjust to change in keymap limiting Hi to 0x38
- Further relax condition
- Avoid generating empty .fd files as they have no value
- Also filter out devices without functions
- Allow renaming into exclusively locked directory
- Pass the tags containing project name and lock to CLI launch
- Set the correct mask via ohciEnableInt when enabling interrupt
- After MUIA_String_Contents, MUIA_String_Acknowledge has same value
- 2023 -> 2024
- Increase priority of close function to guarantee free() working
- Extend check during rename to allow change of capitalization of name
- Don't translate error when it is already DOS error
- Allow changing capitalization of name when renaming
- Allow changing capitalization of name when renaming
- Fix warnings
- 64-bit fix.
- Fix reading random memory
- 64-bit fix
- Silence debug
- Listtree.mcc: Rework CreateImage workaround for 64-bits
- Fix warnings related to C library functions
- Add workaround for problem visible in C++ code
- Extend CreateImage hack
- Fix for '*' in sscanf
- Port newer version of random.c from FreeBSD
- Fix: Mark ata_32bit object for '32bit' argument
- Replace enableusb option with noioapic
- Add information at the top to avoid confusion
- Default state of ata_32bit is disabled
- Add separate tabs for ATA, AHCI and NVME
- Implement support for ATA=disable argument
- Add support for AHCI=disable and NVME=disable
- Implement AHCI=force150/force300/force600
- Localize strings
- Update version
- Update ftmanager.c
- Catalog submodules updated.
- Use github mirror of PCIIDS project. Main site sometimes fails.
- CDVDFS: Trim whitespace
- CDVDFS: Use CopyMem where possible
- CDVDFS: Fix dbprintf / dbinit / dbuninit
- CDVDFS: Allow use of OpenLibrary for opening libraries
- CDVDFS: Ensure filesystem IDs are available
- CDVDFS: Use %lx instead of %p for pointers
- CDVDFS: Get CDVDFS working on AmigaOS
- CDVDFS: Fix manual dependencies in GNUMakefile
- CDVDFS: Serial Debugging on AmigaOS
- CDVDFS: Properly cast parameters for FindToolType()
- CDVDFS: Cleanup_CDROM: Don't dereference p_cd if it is NULL
- CDVDFS: checkcd: Fix inverted NULL pointer check
- CDVDFS: cdrom.c: Check pointers in Start_Play_Audio() and Stop_Play_Audio()
- CDVDFS: device.c: Check return code of Mount_Check()
- CDVDFS: devsupp: Secure string copies in Get_Startup()
- CDVDFS: generic.c: Don't dereference potential NULL pointers
- CDVDFS: hfs: file names can be 30 characters long
- CDVDFS: generic: Prevent NULL pointer dereference in Close_Object()
- CDVDFS: Use D(bug()); consistently where applicable
- CDVDFS: Bring version numbers and date in sync
GFLG_GADGHIGHBITS was being used incorrectly in a few locations in Inutition and Icon libraries. Specifically, GFLG_GADGHIGHBITS is a mask against the set of one of the following: GFLG_GADGHCOMP GFLG_GADGHBOX GFLG_GADGHIMAGE GFLG_GADGHNONE
Execute() returns information whether command was executed, not the return code of command.
Without this change random, unallocated memory was read when using default (coming from keymap.library) keymap and this could cause a crash.
Based on tests of several pen-drives formatted under Linux Mint to FAT32 LBA (0x0c)
Rationale: 1) none of the other file systems does this check 2) it is currently possible to create a file in exclusively locked directory and there is indication that in past it was blocked the same way as renaming. Changing rename synchronize logic in both paths.
This allows executing tool from "Shell" with an argument via clicking. The code was like this until rev. 31196. It looks like it's a side-effect of that commit, not intention. Note: OS3.9 as well as Scalos both allow this mode This fixes deadwood2/AROS#64
This fix extends rev 39050. When interrupt is disabled via ohicDisableInt is it removed from hc_PCIIntEnMask. Enabling HUBCHANGE interrupt without setting this mask was causing the interrupt to be raised but without code to handle, causing USB to stop issuing next interrupts. Problem became visible when starting ASUS M2N68-AM SE2 with usb keyboard and pendrive connected. USB interrupt was not handled correctly and USB stack was freezing, blocking IRQ5 which also happened to be IRQ of SATA. This fixes deadwood2/AROS#111
At priority 0, C memory management is shutdown.
This was causing the previous errno (reported during fixcase) to be reported as effect of Rename rather then error reported in nocase_rename()
Field background is used as storage in GetAttr call and thus must be IPTR
mgi_Prefs have frame fields of count MUIV_Frame_Count. Having MUIV_Frame_Register as higher value than count was causing reading of random memory in zframe->draw. Note: loading and saving of settings for MUIV_Frame_Register is not implemented. This change is backward compatible. ZunePrefsNew is internal and mgi_Prefs pointer from MUI_GlobalInfo is not even exposed in public headers.
Literals are treated as int (32-bit) by default. This causes wrong 64-bit values for negative numbers which are transported via APTR-size fields. Extend the literals to size of long depending on platform.
The assumption of struct ListImage and NList image structure having obj at the same offset is not valid under 64-bits
In C code, p SysBase gives $1 = (struct ExecBase *)addr, however when first C++ debugging information is loaded, this is change into $1 = (ExecBase *)addr. This results in $SysBase = (ExecBase *)addr and gdb complaining about ExecBase type not being known. The hack makes sure that output is always $SysBase = (struct ExecBase*)addr
It now support case where address differ in number of digits and falls back to not displaying any images instead of displaying broken text when the hack fails
Ignore ('*') comes before width and length, not after width. Previous code was failing where there was * and width.
This version correctly supports 64-bit systems with datasizes fixed at 32 bit integers rather than "longs" as in old version.
'enableusb' is no longer present in source code and 'noioapic' comes handy on some configurations
Paths to the font directory should not be translated
Consistent use of CopyMem across the code base
dbprintf was changed to pass struct CDVDBase * as the first parameter. This was not consistently fixed in the code base. Function prototypes need to be terminated with a semicolon.
When compiling CDVDFS for AmigaOS TaggedOpenLibrary is not available
On AmigaOS these are not available. Define them conditionally.
RawDoFmt() does not support %p on AmigaOS
This fixes the following warning: intui.c: In function 'Init_Intui': intui.c:143:24: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types] name = FindToolType (global->g_user_disk_object->do_ToolTypes, "ICONNAME"); ^~~~~~~~~~~~
g_resource_fork_extension and g_data_fork_extension are both limited to 17 bytes. Make sure we don't copy more than 17 bytes.
There's no need to make the filename 1 character long and then pad it out with 32 characters.
CDVDFS has a variety of debug implementations that are inconsistently used across the files. One variant is enough.
Woah not sure what happened here |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.