From: Lawrence S. <ljs...@us...> - 2013-05-23 15:24:04
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "A pseudo Operating System for the Dreamcast.". The annotated tag, v2.0.0 has been created at 83165fa0d61a3318b0e1aafc58a6f55848e72e6e (tag) tagging 137c2ca7ad704991c1cab991408cace63bf315f2 (commit) tagged by Lawrence Sebald on Thu May 23 11:22:31 2013 -0400 - Log ----------------------------------------------------------------- Tag KallistiOS version 2.0.0. -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.19 (Darwin) Comment: GPGTools - http://gpgtools.org iQEcBAABCgAGBQJRnjRQAAoJEKVk4yedkkWVxIcH/3o1ivD+N9U8NExYshzdpRh7 7gPaW5uvypSgpwRXh9bftTQ8JAcQ22W5jFiHhGKmnurlC/AU0B4exC046aLN0u5P wV43J7ynHVgMGhZhSL4k8mVHActCcZtrXyKjAmxNRvNBYGhcHmDkXAMZxK5mMYIJ 6cJYChI3viByny7m8WzgS9jBOiLsr9v1nZaAWQBo37lCePVk6NOcSol4me9vGutE f0/p2kWaAcB9Ml44TFmp//fyrRLmHra0CPmuzeUz49SNlLZPMWwe7Tah0z9qEclh QXYjKGBBNr1ajEx5cDDSDTHGTP+mJFvUn+cW72Ez2M/m2I+LwSCmB0y2liKex3E= =wag7 -----END PGP SIGNATURE----- Atani (13): Adding ".svn" exclude to the genromfs call default paths update binutils version bump to 2.17, this fixes compilation with native gcc 4x use dc-chain style naming as default inline banner creation use make_banner.sh, #!/bin/bash instead of #!/bin/sh kos-ports hooks auto-set KOS_BASE for trac builds applying sector sizing patch from Quzar apply patch to use fnmatch.h for CYGWIN. Adding svn:ignore for most generated files Upgrade to newlib 1.15.0 fix LOCK_RECURSIVE Christian Groessler (12): fix SCSMR2 define; add support for baud rates < 9600 fix debug messages readdir: handle case if VMU is completely empty don't allow opening a file with O_DIR revert to r359, last check-in was by mistake create a map file vid_border_color() now returns the old color. Add dcache flush for when using DMA. Updated gitignore to ignore *.map files. close() returns a status now. 0 or -1 for success or failure. Information about New compiler (gcc 4.7.0) optimizes out the the delay loop in Add -N to linker switches in order not to pad .data section to a 32K Cyle Terry (6): Newlib 1.15 not quite stable yet kmg.h and zlib fixed in kmgenc forgot to set a 1.15 back to 1.12 DESTDIR patch Fixing hello-mp3 example's compiler warnings Adding BlueCrab's init fini Newlib patch. Dan Potter (148): Initial import of KOS 1.2.x Update eol-style properties on text files Testing permissions. Remove permissions test line Removed msg.h (never gonna finish that), did some rearranging Nifty new arch-centric auto-build system Use arch-specific dir for addons Don't auto-build examples for the moment since addons Updated changelog/relnotes, moved most addons into their own tree Removed defunct os-mode stuff, will re-add in 1.3.x branch Post-addons-scoot-around cleanup libc updates backported from KOS 1.3.x The rest of the kernel-main 1.3.x backports Happy new httpd example Incompletely ported ia32 port from old KOS 1.3.x Example porting to 1.3.x Fixes to enable lwIP compiling Couple more porting things, again Copied up from old 1.3.x tree Remove non-working dcload-ip for now Added new parallax example Updated basic lua example for Lua 5.0 and KOS 1.3.x Update conio examples to use infinite blocking More libc compatibility fixes for Lua 5.0 Fix for getc for broken g++v3 libs Added svnpush util Updates to svnpush.py, new svnpull.py "client" Fix a problem with checking for too many args Added email notification support to svnpush.py ANSI compliance fixes for KM_DBG in malloc.c Forgot to check in library.c Rename "struct vector" in vector.h to avoid clashing with STL in C++ Add -lz to vqenc compilation for Cygwin folks Removed stdint.h in gba-crcfix.c, seems to be non-portable currently :( Added stdlib.h to get_image_png.c in vqenc for malloc/free Renamed genexportshims.sh to genexportstubs.sh Added some more kernel exports for loadable modules Simplified DC examples Makefile Build system improvements, and finished kos-ports tree separation. Arch dirs for ia32 and ps2 in addons Adjusted 2ndmix demo to use prefab romdisk lines Finished updating build scripts and README Added exports generation for loadable prefab Added more core kernel exports Added "sinus" demo for Parallax Added Parallax delay_cube example Added Parallax rotocube example Improved MII/link status handling for BBA driver Add NONE thread mode, make thd_sleep sensitive to it Change usleep() to use thd_sleep() instead of timer_spin_sleep() since Add KOS 1.3.x includes to kos.h Change kos/exports.h to use ptr_t instead of unsigned long GDB stub fixes from Richard Moats: New bin2c from Gil Megidish: Updated genromfs from upstream 0.50. Fixes the "wrong parent" bug Fix and re-enable SPU DMA module Align allocated SPU RAM blocks to 32-byte boundaries for DMA usage Clean up PVR DMA functions, add support for 32/64-bit VRAM and TA DMAs Update exports.txt for recent DMA changes Floating point register support for gdbstub from Richard Moats Experimental DMA-based streamer for snd_stream Remove extraneous setting of lmmode0 in spu dma Add G2 DMA pausing (hacky) for g2 bus read/write calls Add DNS client test program, fix lwIP paths for httpd Be BSD-conformant on u_long and such by defining __u_long_t_defined Enable IRQ usage and buffering for serial receiving in dbgio Make flashrom_read_block non-static, and add ISP settings code. Add ISP settings example. This is technically a flash (not network) Update DNS example to use new lwip_gethostbyname Fix a typo in the "method" field for ISP flash settings Updated netcfg to be able to load settings from ISP flash Lots of misc DC modem code cleanups / updates, and also a new sq_cpy speedup patch from Jim Ursetto mat_trans_single speed up patch from Jim Ursetto Big rewrite of a bunch of stuff in the PVR module, preliminary Fixed DMA vertex support in PVR module. Rename pvr_set_vertex_buffer to pvr_set_vertbuf for consistency, remove Add mat_transform_sq from Jim Ursetto. Correct exports for pvr_set_vertbuf (forgot in last changelist) Add modified version of Jim Ursetto's "serpent" example to the - New and improved sound stream manager, with multiple stream support Fix an issue with the Makefiles where errors won't stop the build. New dbgio system (and corresponding fixes for various other pieces) KOS: Fix possible infinite loop while searching for a channel to play KOS: Another fix for the channel allocator in sndsfx kos: scif.c wasn't included in build (thanks quarn) kos/libc: Remove __unused tag from crtend ctor/dtor arrays so it works kos: Make frsqrt() specify fr0 as dirtied (thanks Jim Ursetto) kos: update bin2o to produce properly aligned files on the DC kos: Add support for setting fsaa at init in PVR kos: Always initialize DC's SCIF port even if we aren't using it for kos: Always initialize DC's SCIF (part 2) kos: Read the correct flag for using OCRAM on the DC at startup. kos: Add mat_trans_nodiv, fipr_magnitude_sqr, and fipr (thanks Jim kos: Allow init of fsaa at startup in PVR (part 2) kos: add gnu_wrappers tree with KOS wrappers for GNU tools kos: Fix enabling of incorrect ASIC event for SPU DMA (thanks Vincent kos: convert stuff to use Newlib instead of KOS libc/libm kos: remove broken half-finished stuff from fs_dcload.c (whoops) kos: still yet more joy of Newlib updates kos: add newlib KOS patch kos: add byteorder.c to koslib tree... apparently Newlib didn't bother kos: remove CVSID from bspline.c kos: add timer_us_gettime64() kos: patches from Jim Ursetto for multi-threaded libstdc++ compilation kos: add file headers to new libc/newlib files kos: allow free(NULL) to work fine in debug mode kos: fix a few issues with scif_init and dcload-serial kos: add info about user-entered date in syscfg_t (thanks Thierry Vermeylen) Modify KOS default rules to include regular CFLAGS and CXXFLAGS so ports can kos: leaner, meaner kosh sample kos: fix 'adventure' sample to work with new compilers and newlib kos: Modem driver version 1.2 from Nick Kochakian kos: fix AICA volume setting (Jim Ursetto) kos: fix RLE in gdb_stub (Richard Moats) kos: fix an image-garbling bug in vqenc (Richard Moats) kos: fix mipmap generation (Richard Moats) kos: DMA support for BBA, improved SPU DMA support, and G2 DMA generic kos: make vmu_pkg params const to avoid warnings/errors kos: update netcfg to support adding a VMU icon (Sam Steele) kos: update hello world Makefile VMUFS fixes from Tursi [partial] Add block write retrying to vmu block-level driver. This idea was suggested Add reverse-derivation comment for baud rate factor (useful for checking Move BBA thread creation to if_start/if_stop to avoid having an extra thread Fix for issues with inserting/removing purupuru packs at runtime kos: Make thd_sleep(0) work properly. kos: Return value is optional in pthread_join kos: Make kos-cc wrapper work with C++ autoconf tests kos: Fix kos-ranlib to not include a bunch of meaningless parameters kos: Patch #701892 from SourceForge: kos: Patch #1552702 from SourceForge: kos: Patch #1552720 from SourceForge: Patch #1553384 from SourceForge: Patch #1553421 from SourceForge: kos: Missed part of revision #358 (patch #1552702 from SF) kos: Fix romdisk name matching, from mailing list: kos: Some makefile fixes in examples kos: Still yet more joy of example fixes kos: More example fixes, some by me, some from here: kos: Add simple Blender model export plugin kos: Add dc-chain updated to GCC 3.4.6: kos: Add execve() stub kos: Add OSX build stuff to vqenc makefile kos: Revert limits.h change earlier.. breaks other stuff kos: realpath() is using the wrong getcwd()... need to fix in newlib probably kos: Don't try to shutdown net if it wasn't initted; causes crash in Fix commented out paths in dc-chain (thanks Christian Henz) Donald Haase (3): B and G values were swapped in the last update to screenshot.c. Fixed. Modified dc-chain make to allow kos to be in root folder other than 'kos' Merge branch 'master' of ssh://cadcdev.git.sourceforge.net/gitroot/cadcdev/KallistiOS Harley Laue (23): Applied patch that removes .stack during kos-objcopy. Opps, typo When is an unsigned char ever less than zero? Moved check for free(NULL) up in code to avoid potential problems. Removed legacy libc and libm. I should probably try to remember to update the CHANGELOG with every commit Fixed GBA arch/types.h so cross compiler can be made. Some more changes to allow the GBA port to compile. It's still far from working, but it's a start. Added some doxygen comments to the assert.h and cdrom.h A few more doxygen comments/updates KOS as of commit 657 requires newlib 1.15.0. We don't actually want multiple sourcing of environ.sh to keep old values. Documented a standard C header Changed flashrom_write's NOTE to doxygen \note Added Doxygen comments to sys/dirent.h Removed trailing whitespace Pull dreamcast specific ldscript from environ_base.sh Make formatting consistent across all files Add in required stubs directory Added a gitignore Attempt to fix a possible parallel build issue Updated gitignore to ignore some more things in examples Updated environ.sh.sample to reflect defaults in dc-chain Lawrence Sebald (302): Added support for PVR sprites. Adding in the new network system... Fixing a rather stupid error on my part here... Adding automatic configuration of bba from the flashrom Forgot to commit the updated header file, fixing that problem now. Adding in the maple microphone driver that I wrote a while ago... Finally adding a purupuru driver that makes a purupuru rumble on demand. Committing a change to the LA driver to make it work with the new network code Adding in skeleton Dreameye driver to make detection work. Committing waltervn's patch for the newlib patch Committing experimental render to texture support and an example using it. Adding in a minor change to kos-cc to make my copy of autoconf happy. Adding in a minor fix to the ARP handling code so that if an incomplete entry is encountered in the lookup code, it returns failure, rather than silently returning an invalid mac address. Adding in the first of the big network changes that I have been working on. Adding in some more networking changes. This set is some code formatting corrections, along with getting rid of net_ntohs and net_ntohl usage in many places. Another networking change coming up. This is a bit of cleaning in the net_ipv4.c file. This is the last of the big networking changes for now. This update adds a completely new UDP system, and a working sockets system to go along with it. Committing two fixes to the sockets and related code: Fixed a crashing issue in the ARP shutdown code and made the ARP code garbage collect expired entries on each lookup. Got rid of net_ntohl and net_ntohs, considering ntohl and ntohs have been in here for a while. Added in code to support polling receives on the BBA. Also, made it so that this new functionality works in an irq. Added in a short delay during initialization of the lan adapter. Mine seems to need a delay after initialization before sending anything out on it. Rearranged the network shutdown stuff so that it happens in a more correct order. Made it so that the IPv4 input code does not pass around ethernet headers. Also, fixed a few little issues with ping packet sending. Made net_ipv4_checksum accept the number of bytes in the data to be checksummed rather than the number of words. Made the UDP code so that it works in an irq properly. Adding in a few more inet functions for dealing with parsing and packing internet addresses. A small fix for the texture_render example. No more cast expressions as lvalues... A little cleaner way of dealing with those lvalue casts. Committing C-style comments patch from quzar. Changed what was /// comments (that got changed to /* ... */ in r551) to /** ... */ comments. Got rid of the condvar in the UDP code... It wasn't really right in the first place to use it, so now its gone. Committing patch 1900235 - Newlib patch for dc-chain. A little bit of reformatting, as well as a new function in net_ipv4.c A bunch of changes to the UDP code that all amount to just about nothing really gained. Included in this are the following: A slight modification to net_default_input, as well as a more sane way to handle loopback sends in net_ipv4 (sending it directly back into net_ipv4_input). Changing the behavior when a send is attempted to a host that does not have a cached ARP entry. Now, net_arp_lookup will return -2, signaling that an ARP query has been sent out. net_ipv4_send_packet detects this condition and returns this to the caller (net_udp_send_raw at this point). net_udp_send_raw sees this condition returned from net_ipv4_send_packet, and retries the transmission after 100ms. Thus, the first send to hosts won't fail in UDP any more, unless the host does not respond to the ARP query (i.e. its not actually there). Two things in this commit: Adding implementations of read, write, and seek on sockets. Adding in a new synchronization primitive: reader/writer semaphores, along with an example program for them. Oops... forgot a few things. Fix an extremely unlikely memory leak in the UDP sockets code. (Who would ever try to create a new socket in an interupt anyway?) Adding in VMU beeping support as written by Donald Haase (Tracker item #1961770). Add support for "upgrading" a reader/writer semaphore from a read lock to a write lock. So, uhh... the KOS CHANGELOG hadn't been updated since November of 2003. This commit fixes that issue. Hopefully I didn't miss any important changes (or credit them to the wrong person). Hopefully this will never happen again as it took far too long to go through all the SVN logs to do it after 4 and a half years. Adding in another new synchronization primitive: recursive locks, along with an example/test program for them. -fno-crossjumping has been needed for a while. I'm not quite sure why the environ file didn't have it in there, but its there now (thanks waltervn). Almost forgot to update the CHANGELOG... - Add g2_memset_8 function. Adding in rewritten microphone driver that now supports more than just the 16-bit signed @ 11025Hz encoding for samples. Add maple_enum_type_ex function and capability defines for the controller to go along with it. Committing Donald Haase's vid_screen_shot patch (Tracker Item #2088266). A few changes in the network code to support sending/receiving broadcast packets properly. Also, catch all of 127.x.y.z as loopback addresses, as it is supposed to be. Adding in code to fetch ISP settings that are set by PlanetWeb. Also, this commit includes various fixups for the fact that the flashrom_ispcfg_t struct got a bit of a makeover in the process so that it supports both PlanetWeb and DreamPassport in a generic fashion. Adding in an implementation of DHCP to the network stack. I apologize for the huge email this will probably generate, but it really needed to be done. Removing the old Maple API from a bunch of examples. Updating another bunch of examples to not use the old Maple API. More examples claned to not use the old Maple API. Mark the old Maple API compatibility functions as deprecated. Clean up a whole bunch of warnings. Fix maple_enum_type_ex so that it actually works as advertised. Prevent an infinite loop if maple_dev_status is called on a microphone before it has started sampling at all. Adding in a new Dreameye driver that can grab saved images off of the Dreameye. Committing most of patch #2581322 from the tracker -- A bit of a cleanup of the maple code (mostly dealing with attaching and detaching of devices). Divide up image transfers between all of the sub-devices on the Dreameye. Fix a bug in rlock_init if malloc were to return NULL for some reason. Adding functionality like pthread_once, along with an example for its use. Adding in thread-local storage support. Added missing __END_DECLS Remove two variables from thread.h that are actually static in thread.c. Initial GCC 4.x support and various warning cleanups Adding in a linker script to be used with GCC 4.x... The default one puts the .init segment in a rather stupid place (0x1000, I think), which of course won't work all that well. Also, this one prunes away the useless .stack segment. Adding in timed wait on a recursive lock. Adding support for untextured PVR sprites. Adding in support functions for modifier volumes and a simple example. Better support for modifier volumes (really for the polygons affected by them), and an example of how to use modifiers with textures. Adding in simple statistics system for IPv4 and UDP (and fixing comment at the top of the second modifier volume example). Add the MTU of the interface to the netif structure and some fixups for DHCP. Wait on an object that actually will exist when the DHCP request is fulfilled. Added IP fragmenting support. Adding in new network thread code. Various bits and pieces of the network stack are likely to need to use threads for some part of their operation now, so devote one thread to that purpose. Also, add the beginnings of IP reassembly (just reject fragments for now). Adding in IP reassembly support and some fixes to ICMP. Further work on IP reassembly: Support for multiple framebuffers when the PVR isn't being used. Initialize the target dbgio device when switching devices. Add biosfont-based framebuffer dbgio interface. Remove pointless underscores in the ping_pkt structure name. Fix stupid possible bug in cleaning up the fragment list. Reorder init/shutdown of the network components, don't allow net_init to be called twice without shutting it down, and fix some indentation issues. Fix a stupid bug with non-textured sprites. Add a couple of events related to GD-ROM DMA. Adding in an updated Doxygen configuration (it pretty much stays true to the old one in how everything's set up), but will play nicer with newer versions of Doxygen. Ok... I didn't really mean for this commit to be so large, but apparently I haven't committed anything in a long while... This seems a bit more sane for thd_schedule_next... Adding in "ping" example. Adding patches to support GCC 4.4.0 and 4.4.4. Remove the lock_common.h file, since its effectively the same thing as <sys/lock.h> anyway. Warning cleanup based on GCC 4.4.4. Adding Doxygen comments to sys/socket.h. Add Doxygen comments to the Dreameye driver. Add Doxygen comments to the SIP and Puru Puru drivers. Adding Doxygen comments to the rest of the maple device drivers. Add Doxygen comments to a bunch of things, and clean the ones in assert.h up a little bit. Add Doxygen comments to a few more files, and fix a few comments in other ones. More Doxygen comments... fs_builtin has been gone for a while now, why these remnants are here, I have no idea. More Doxygen comments, and some cleanup on existing ones. More Doxygen comments... Add support for sending ICMPv4 Destination Unreachable and Time Exceeded packets. Also, change how ICMPv4 Echo packets are handled slightly. Adding IPv6 address parsing support to inet_pton. Fix double colons with IPv4 address embedded inside an IPv6 address in inet_pton6. Add a few more IPv6-related macros to <netinet/in.h>. - Change the IPv4 checksum function a little bit, so that we'll be able to calculate checksums with pseudo-headers a bit easier. - Fix a major bug in net_udp. Add the rest of the IN6_IS_ADDR_* macros to <netinet/in.h> from IEEE 1003.1-2008. Clean up warnings on some of the IN6_IS_ADDR_* macros, and fix a few others so they actually work. Adding in a whole bunch of stuff that's been worked on over the past few days: Reverting r671 for stream.drv. It shouldn't have ever been changed in the first place. A few more networking things in this commit: - Add a net_ipv4_checksum_pseudo() function that calculates the checksum over just the pseudo header (like the net_ipv6_checksum_pseudo() function). Add struct sockaddr_storage. - Send an ICMPv6 parameter problem if we don't know how to handle a next_header value that we get in IPv6. Add doxygen comments to the modem driver headers. Adding in code to do MD5 checksums to libkosutils. A bit random, but I did originally write this for something that was for KOS... - Mark all children of the root directory as directories in a readdir. Adding in a little bit of a rework of the threading code that I decided to do. This new version has a few nice improvments, namely: Fix threading examples so they comply with the new threading system. Fix up a few more examples that use threads so that the new thread stuff doesn't cause problems with them directly. Adding in patches for GCC 4.5.2 and Newlib 1.19.0. These are updated for all the new stuff in the thread code. Fixing up dc-chain so it builds the latest version of everything... This is a little bit better version of stat(). At least this one will work for a few common use-cases of it... Add a note to the dc-chain README to not use multiple jobs with make. This aught to fix ARGB1555 support in kmgenc. Colorized biosfont code, based on that by Chilly Willy. Its not exactly the same as his version, but it is a bit more general this way. No real need to keep state about pings... Do the same for IPv4 pings. Add in pthread-mapped TLS functionality. Copy IPv6 addresses passed into inet_ntop into an internal buffer to deal with any sort of alignment issues... Add Doxygen comments to a bunch of sound-related stuff... Add in some more doxygen comments... Document the net.h file... Even more doxygen comments. Getting much closer to having everything documented... Fix something I inadvertantly broke... Committing the first big batch of documentation on pvr.h... This is not at all finished, but its a good start... 2002 called. They wanted to ask why this stuff was still around today. Finally its time to kill off the old Maple API... Fix a bug if you were to try to open the same list that is already open in the PVR code. Finished documentaton of pvr.h and fixed a few things in net.h. Fixing header file references on some structs... Doxygen comments in maple.h. Document most of g2bus.h, with the exception of the DMA stuff for now. Clean up the cdrom.h documentation a bit, and rename set_sector_size() to cdrom_set_sector_size() for consistency. Document asic.h and make a few asic-related internal functions actually static. Document arch.h. Document a few little files that really don't have much content to them. Document irq.h. Document mmu.h. A few small things in this commit: Documentation of threading stuff... Binutils 2.21 seems to have disappeared from the GNU FTP site, so use 2.22 instead. <Ayla> last patch, kernel/fs/fs.c:134 should return NULL, not 0 Protect fs_dup() and fs_dup2() against invalid file descriptors. Document kos/fs.h. Remove endian.h. Its unused and not needed. Document that this file is undocumented in the KOS docs and defer to the POSIX standard for documentation. Update the release notes... Things are starting to look a lot more like we might get a release done in the next year. ;) Finish doxygen documentation! Fix pvrmap example. #include <zlib.h> by itself, as it doesn't seem to be necessarily included by png.h. Link with libm, since some platforms need it and it probably won't hurt either way. Fix libtremor reliance on non-standard endian.h header, and provide the relevant parts elsewhere in header files. A few documentation updates... Fix compilation of two examples that didn't compile before. Fix a few things in the fs_dclsocket init before they become problems... Disable the dbgio interface when dclsocket is enabled, not when its disabled. Actually do 10 pings, like the comment says. Move the hop limit calculation up earlier in the IPv6 packet send function. This way, if we revert to IPv4, we have a sane ttl when the incoming hop limit was 0. Make dbgio_enable() and dbgio_disable() actually do something useful. Use dbgio_enable() and dbgio_disable() around fs_dclsocket, rather than doing things the hacky way they were done before. A few changes to how the internal networking stack works (some are quite major): Don't send spurrious protocol unreachable messages from IPv4... Make it so you can receive packets on UDP over IPv6. Add simple example of IPv6 UDP sockets. Rename the input function for UDP and add SOCK_STREAM to sys/socket.h. A bit of preliminary initial work on TCP. A few networking things in this revision: Make the make_banner.sh script show the SVN revision number on a copy of the repository checked out from SVN rather than the rather unhelpful ##version##. Treat destroying a recursive lock more like destroying any other sync primitive is. Free packets attached to an ARP request when we shut down. Make the network shutdown function so that it doesn't crash when called in an IRQ. Add ARP/NDP entries on incoming packets. Clarify a couple of error cases... Fix checksum calculation on packets with size >= 256. Slightly nicer checksum function. Two things here: Change the default stack size from 8192 bytes to 32768. Two small things in thread creation: Make DHCP shutdown clean things up a bit nicer... Have the echo server print out the IPv4 address as well, since IPv6 sockets work with IPv4 as well. Hrm, I wonder what this is. ;-) 1. Add setsockopt(), getsockopt() and fs_fcntl() functions. Add fcntl support to fs_romdisk, fs_ramdisk, and fs_pty. Support fcntl in fs_vmu, fs_dclsocket, fs_iso9660, and fs_dcload. Some of these are a bit hackish, but they should work for what we need them for. Add patches for GCC 4.7.0 and Newlib 1.20.0 to dc-chain, and update it to use them. A few changes to go along with the update for GCC 4.7.0 and Newlib 1.20.0. Add initializers for transient semaphores, condvars, and mutexes. Add poll() and its support work in the fs and network stuff. Add the select() function. Make it so that stdin/stdout/stderr will be set as line buffered (newlib has to think they're ttys if we have fcntl, which we do now). Change around how mutexes work. Old code should continue to work just fine, but should be updated to not use mutex_create() anymore. Also, if you were using the recursive lock stuff, update it to use a mutex of type MUTEX_TYPE_RECURSIVE. A few documentation fixups... A few new things in here: Revert to GCC 4.5.2 for now, due to issue with GCC 4.7.0 and frame pointers on sh-elf. Add genwait_wake_thd() function. Check the timeout value in mutex_lock_timed(), as the documentation implies we do. Actually document the select() function. Update reader/writer semaphores a bit (adding a few new functions and such). Two things: Fix the environ.sh.sample to more accurately match up with the state of things. Fix a few condvar functions to return int (and report possible errors), like their POSIX friends do. Updating the GCC patches... Back to GCC 4.7.0 we go, now that there's a working patch. No need for magic numbers for fsca and fsrra, considering binutils has supported them for sh4 since 2004. Add missing directories... Testing a commit from git... Testing again... sorry about the noise... Remove the testing file from earlier.... A bit less pointless of a test... Add a few things to the changelog... Hopefully this will be the last of the pointless noise... Sorry again... Add a few more things to the .gitignore file. Copy the kmg.h file into kmgenc and vqenc so that they can compile without needing kos-ports around. Make it so some of the util programs compile properly and add clean targets to some Makefiles. Instead of defining struct timeval ourselves in <sys/select.h>, just include <sys/time.h>, which defines it (and is allowed by the SUS). Remove pointless comment that I missed... Fix a mistake in the documentation for SPU DMA. Don't jump off the end of the keymaps in kbd_enqueue with non-US keyboards. Merge branch 'master' of ssh://cadcdev.git.sourceforge.net/gitroot/cadcdev/KallistiOS Grab the region/type of keyboard on keyboard attach. Fix a small documentation issue. A few changes to keyboard handling... Include dc/maple.h from any of the maple device headers that use maple_device_t. Add in low-level support for the SD card reader attached to the serial port. Add CRC16-CCITT to the net_crc.c file. Rename scif_sd -> scif_spi. Well, that was a rather silly bug... Move the delays before setting the CTS line. Add in raw block access to SD cards and fix a few random commenting issues... Add in some flags for send(), sendto(), recv(), and recvfrom(). Add missing __END_DECLS. Add symbolic links to the types that can be reported from fs_stat. Add basic block device interface. Add a SD card block device. Add in ext2fs. Adding in example of using ext2fs with the sd driver. This commit adds a few new things in libkosext2fs: Protect against infinite loops caused by circular symbolic links. Clean up a few paths in libkosext2fs where functions might return while still holding the mutex. Add a method to resolve all symlinks in a path except at the end of the path in the inode lookup function in libkosext2fs. A few changes to directory and inode handling in libkosext2fs. Add missing txrenv stuff to sprites. Add new inode cache to libkosext2fs. Fix a two rather stupid bugs with fs_ext2. Add authors list and update the license section in the README.KOS file. Change how threads are swapped a little bit. A few changes in libkosext2fs: Remove a stray printf... Use the git commit hash in the make_banner.sh script. Add a function to sync the filesystem back to the block device. At the moment, there's no other write support, so this doesn't really do much right now. Add support for unlink and rmdir to fs_ext2. Fix a small mistake in the last commit. Get rid of a debugging printf I left in by mistake... Furthering write support in libkosext2fs a bit... Furthering write support in libkosext2fs a bit... Merge branch 'master' of ssh://git.code.sf.net/p/cadcdev/kallistios Moving right along with write support, here comes renaming in libkosext2fs. Continuing with write support in libkosext2fs: Fix a few error conditions in libkosext2fs. Account for xattr blocks in ext2_inode_read_block and ext2_inode_alloc_block. Add write() support to fs_ext2. Make sure changes get written back to the block device when unmounting a fs in fs_ext2. Add the fs_ext2_sync() function to sync all changes to the block device. Optionally write a file in the ext2fs example. Revert stream.drv. Fix a silly issue with 2352 byte sector reads in the cdrom code. Add fs_link and fs_symlink now that they're somewhat relevant (with libkosext2fs). Add a symlink() function to koslib. Add support for creating hard links to libkosext2fs. Add support for creating symlinks to fs_ext2. Add a mke2fs program to the examples. In fs_copy, make sure to open the destination with the O_CREAT flag, otherwise some filesystems that require that flag for creating a file (fs_ext2) will fail to copy. Fix a rather stupid error in reading blocks from a file in fs_ext2. Fix a bunch of nasty bugs in fs_ext2: Update some documentation (FAQ, README, RELNOTES). Update the CHANGELOG. Add 64-bit versions of some VFS functions. 64-bit file access in fs_ext2, ahoy! Add example program using fs_ext2 to copy Dreameye images to. Oops... That was supposed to be uncommented. A few dc-chain updates: Fix the link for downloading Newlib. New banner code. This one also includes license and authors for easy access to display them in your programs. Richard Moats (4): GDB-over-dcload Hard breakpoints / watchpoints using User Break Controller fix staggered channel start that caused phase error in stereo streams switch order of include so aica.h has uint32 type Sam Steele (4): KOS: adjust makejitter Makefile so it can find the kos-ports headers KOS: fs_iso9660: fill in dirent.attr for directories, and apply Christian Grossler's patch for opening correct filenames Fix bitmask for mouse buttons so 3rd button is usable (thanks to Fragger) Support for building gdb and insight for dc-chain, patch contributed by Christian Henz ----------------------------------------------------------------------- hooks/post-receive -- A pseudo Operating System for the Dreamcast. |