AminetAminet
Search:
84734 packages online
About
Recent
Browse
Search
Upload
Setup
Services

util/sys/Mu68060_Ex.lha

Mirror:Random
Showing: m68k-amigaos icongeneric icon
No screenshot available
Short:MuLib aware experimental 68060 library
Author: thorfdbg at alumni.tu-berlin.de (Thomas Richter)
Type:util/sys
Version:46.6
Architecture:m68k-amigaos
Date:2021-03-28
Requires:an 68060, the mmu.library.
Download:util/sys/Mu68060_Ex.lha - View contents
Readme:util/sys/Mu68060_Ex.readme
Downloads:1120

------------------------------------------------------------------------------

New in release 46.6:

- The previous release had a bug when emulating FPU instructions in
supervisor code. While the code was aware of this condition, it failed
to create the proper stackframe for it and hence may have crashed.
- Also, if more than 4 bytes were to be copied in or out of the code,
the emulation failed to run the copy in the supervisor space.
- If an access error was reported during a 1 to 4 byte copy- in or
copy out, the code crashed because the stack frame was different than
expected.
- If an access error was detected during emulation of user code, the
access error handler was incorrectly called in user mode, and hence
crashed. Now, the entire FPSP stack frame is copied over from user to
supervisor code, and execution continues in supervisor code as it
should. (This is a very tricky condition).

------------------------------------------------------------------------------

This archive contains an experimental version of the 68060.library which
substitutes the 68060.library that comes with the MuLib distribution. As
such, it requires installation of the mmu.library.

The experimental feature of this library is that it is multitasking-friendly.
A program that makes excessive use of the 68060 FPU emulation may cause the
mouse pointer to react sluggish, and the system may react less responsive.
This is because the FPU emulation that comes with the regular 68060.library
executes in supervisor mode and, as such, blocks multitasking. The currently
running task can not be removed from the CPU while the FPU emulation is active,
and hence the input.device, responsible for moving the mouse pointer, will not
react to user input.

This version of the 68060.library contains experimental code which executes
the FPU emulation in user mode rather than supervisor mode, thus allows the
operating system to remove CPU from the currently executing task, even if is
in the middle of FPU emulation code. As result, the system remains reactive
even if the FPU is under heavy use.

------------------------------------------------------------------------------

Installation:

- If not yet done so, install the MuLib package and its processor libraries.
- Make a backup of the 68060.library that comes with the Mu680x0Libs package.
- Copy the 68060.library in this archive to LIBS:

------------------------------------------------------------------------------

FAQ:

- Why is this an experimental library? Should I use it?

It is experimental because the technology is new and is not quite as well
tested as the regular 68060.library. Nevertheless, despite the handling of
unimplemented floating point instructions, the code base is identical to that
of the 46.4 68060.library in the Mu680x0Libs package. If you feel uneasy about
experimental software, do not use this version but the regular version. It
may contain bugs and may cause problems that have not yet been indentified.

- Why do I need the mmu.library? Will it work without it? Will it work without
  a mmu?

The mmu.library is needed because the codebase of this library is based on the
68060.library contained in the MuLibs archive, and as such, it offloads all its
MMU based functions to the mmu.library. Hence, the 68060.library contained in
this package will require the mmu.library, and will not work without it. The
mmu.library will, however, also operate without a MMU, just will not provide many
useful functions.

- Is this library any faster than the regular library?

No. It is slower because forwarding the execution of the FPU code from supervisor
to user space causes some overhead.

- Then, if it is slower, why should I use it?

Because speed is not everything. This version is multi-tasking friendly and will
not hog your CPU under heavy FPU load, thus the system will be more responsive 
under heavy load.

- And what about the unimplemented integer instructions of the 68060?

They continue to operate in supervisor mode. The functions are usually smaller
and take less CPU time than the FPU emulation code, hence the advantage of
executing them in user code is smaller. However, if there is an indication that
this would be of advantage, inform me and I'll see what I can do.

- And what about the unimplemented data types of the 68060?

Again, they continue to execute in supervisor mode for the time being. If there
is an indication that they should be offloaded to user space, let me know.

------------------------------------------------------------------------------

                      The THOR-Software Licence (v3, January 2nd 2021)

This License applies to the computer programs known as the "mmu.library",
and the "68060.library V46". The "Program", below, refers to such program.
The "Archive" refers to the package of distribution, as prepared by the
author of the Program, Thomas Richter. Each licensee is addressed as "you".


The Program and the data in the archive are freely distributable
under the restrictions stated below, but are also Copyright (c)
Thomas Richter.

Distribution of the Program, the Archive and the data in the Archive by a
commercial organization without written permission from the author to any
third party is prohibited if any payment is made in connection with such
distribution, whether directly (as in payment for a copy of the Program) or
indirectly (as in payment for some service related to the Program, or
payment for some product or service that includes a copy of the Program
"without charge"; these are only examples, and not an exhaustive
enumeration of prohibited activities).


However, the following methods of distribution involving payment shall not
in and of themselves be a violation of this restriction:

(i) Distributing the Program on a physical data carrier (e.g. CD-ROM,
    DVD, USB-Stick, Disk...) provided that:

a) the Archive is reproduced entirely and verbatim on such data carrier,
   including especially this licence agreement;

b) the data carrier is made available to the public for a nominal
   fee only, i.e. for a fee that covers the costs of the data carrier,
   and shipment of the data carrier;

c) a data carrier with the Program installed is made available to the
   author for free except for shipment costs, and

d) provided further that all information on said data carrier is
   redistributable for non-commercial purposes without charge.


Redistribution of a modified version of the Archive, the Program or the
contents of the Archive is prohibited in any way, by any organization,
regardless whether commercial or non-commercial. Everything must be kept
together, in original and unmodified form.



Limitations.


THE PROGRAM IS PROVIDED TO YOU "AS IS", WITHOUT WARRANTY. THERE IS NO
WARRANTY FOR THE PROGRAM, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE ENTIRE
RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD
THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
SERVICING, REPAIR OR CORRECTION.


IF YOU DO NOT ACCEPT THIS LICENCE, YOU MUST DELETE THE PROGRAM, THE ARCHIVE
AND ALL DATA OF THIS ARCHIVE FROM YOUR STORAGE SYSTEM. YOU ACCEPT THIS
LICENCE BY USING OR REDISTRIBUTING THE PROGRAM.


                                                        Thomas Richter

-----------------------------------------------------------------------------

So long,
	Thomas			(March 2021)


Contents of util/sys/Mu68060_Ex.lha
PERMISSION  UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP     NAME
---------- ----------- ------- ------- ------ ---------- ------------ ----------
[unknown]                30955   66240  46.7% -lh5- a555 Mar 27 13:36 Mu68060_Ex/68060.library
[unknown]                 3136    7812  40.1% -lh5- e2bf Mar 27 13:39 Mu68060_Ex/Mu68060_Ex.readme
---------- ----------- ------- ------- ------ ---------- ------------ ----------
 Total         2 files   34091   74052  46.0%            Mar 28 04:36
Page generated in 0.02 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>