summaryrefslogtreecommitdiff
path: root/sys/arch/luna88k
AgeCommit message (Collapse)Author
2012-06-26create new machine/_float.h which is namespace clean. create a newTheo de Raadt
MI float.h which pulls in and defines the values that are needed from there, and repair sys/limits.h so that it defines the values it needs as well (depending on POSIX version, XPG version, etc). guenther has a more exact selection of that coming for limits.h. this also fixes a few mistakes for the vax. reviewed by kettenis and guenther.
2012-03-01Add luna88k GENERIC.MP configuration file, based on mvme88k.Kenji Aoyama
ok miod@
2012-02-28Luna88k multi-processor support, step 3.Kenji Aoyama
GENERIC.MP on luna88k is now stable. Changes are: - Make secondary processors boot sequence closer to OpenBSD/aviion. This makes boot sequence more stable. Now we have not see any assertions or panics during boot. - Implement IPI as level 1 hardware interrupt by using software interrupt register. - Add IPI support and some clean-ups in interrupt handler function.
2012-01-28Luna88k multi-processor support, step 2.Kenji Aoyama
Modify secondary processor initialization and interrupt handler. Now GENERIC.MP boots up more stable and runs userland binaries, but inter-processor-interrupt is not implemented yet. ok miod@
2012-01-08Preliminary multi-processor support for luna88k. It isKenji Aoyama
work-in-progress and is not stable yet... "Please commit" miod@
2012-01-08Make allocated memory zeroed. This fixes the problem that we got aKenji Aoyama
panic at attaching fb when we use the serial console. ok miod@
2011-12-13Fix auto-boot failure problem. The controller name should be aKenji Aoyama
complete device name for auto-boot check. ok miod@
2011-11-19Make sure %cr17 points to a valid cpu_info struct before attempting to do theMiod Vallat
first few printfs (which happen before we have figured out which exact cpu we are running on). Found the hard way by aoyama@ on luna88k, and we probably have just been lucky on other platforms.
2011-11-08consistant "config bsd" lines; ok miodTheo de Raadt
2011-11-08Garbage collect now unused MKDEP definitions. ok deraadt@Matthieu Herrb
2011-10-27Specify the TLS variant for each platform.Philip Guenthe
2011-10-26Make this compile.Miod Vallat
2011-10-25Bring luna88k disklabel handling code in sync with sparc, except for theMiod Vallat
SunOS vs UniOS differences for the legacy part (first eight partitions), which are preserved. Tested by aoyama@
2011-10-21Fix 1.43 to not bzero the in-core disklabel but really the UniOS disklabelMiod Vallat
as intended in disklabel_bsd_to_om(); repairs vnd operation. Found the hard way by aoyama@.
2011-10-06ccd goes to the atticTheo de Raadt
discussed with jsing and millert
2011-09-13Do not invoke hardclock() until cpu_initclocks() has been invoked; avoidsMiod Vallat
a NULL pointer dereference because the softclock interrupt handler cookie is not initialized yet. Found the hard way and fix tested by aoyama@
2011-07-07The drahn memorial bad kernel build fix: prevent blood pressurePhilip Guenthe
spikes in other developers by making it so that removal of a .d file without removing the corresponding object will result in the latter being treated as out of date. ok beck@ art@ drahn@
2011-07-06make clean should clean .d files, so as to leave a fresh canvas.Ted Unangst
ok beck deraadt
2011-06-29Replace all instances of "scsibus* at hba?" with a single "scsibus* atMatthew Dempsky
scsi?" rule, similar to how ethernet PHY drivers attach at mii. Discussed on icb.
2011-06-26if_downall() cannot be done MI in sys_reboot() because vfs_shutdown()Theo de Raadt
might need network (ie. nfs). Move the call to the MD boot() routines. This cause for boot hangs diagnosed by kettenis.
2011-06-05Move the bufcachepercent setting code to MI locations -- set it to 42%Theo de Raadt
for now; that is unlikely to hit some of the remaining starvation bugs. Repair the bufpages calculation too; i386 was doing it ahead of time (incorrectly) and then re-calculating it. ok thib
2011-05-30Remove the freelist member from vm_physsegOwain Ainsworth
The new world order of pmemrange makes this data completely redundant (being dealt with by the pmemrange constraints instead). Remove all code that messes with the freelist. While touching every caller of uvm_page_physload() anyway, add the flags argument to all callers (all but one is 0 and that one already used PHYSLOAD_DEVICE) and remove the macro magic to allow callers to continue without it. Should shrink the code a bit, as well. matthew@ pointed out some mistakes i'd made. ``freelist death, I like. Ok.' ariane@ `I agree with the general direction, go ahead and i'll fix any fallout shortly'' miod@ (68k 88k and vax i could not check would build)
2011-05-30Remove unused ACB_ALLOC define.Miod Vallat
2011-04-28- enable fenvMartynas Venckus
- add nearbyint, nearbyintf and nearbyintl implemented using fenv
2011-04-16Use 'CLR(<buf>->b_flags, B_READ | B_WRITE | B_DONE)' regardless ofKenneth R Westerback
what the previous IO was. Less chance of copy and paste errors. Suggested by miod@.
2011-04-15In days of yore one could arbitrarily whack buffer flags. Those daysKenneth R Westerback
are past. Use CLR() and SET() to modify necessary flags while leaving the flags used by the buffer cache in peace. Should make bufcache code much less confused about the state of the bufs used in reading/writing disklabels. Other such flag abuses no doubt await a visit. Errors in original diff found by miod@. ok beck@ deraadt@
2011-04-15Convert the kernel Makefiles to autogenerate dependencies during compilationPhilip Guenthe
using the -MD option to cc, with -MP, -MT, and -MF where needed, converting "make depend" to a no-op. This increases parallelism for those using "make -j" and keeps the dependencies up to date with each compilation automatically. sparc and vax users will need to rebuild gcc with support for the -M[PTF] options before config'ing with this diff.
2011-04-06The various read*label() have stopped returning error strings for quiteMiod Vallat
some time, and return errnos instead. Fix or remove out-of-date comments mentioning the error strings, and make their callers check the return value against zero, not NULL.
2011-04-03Iopoolification of some less common scsi drivers.Kenneth R Westerback
ok dlg@ ("miod will not object" dlg@)
2011-03-23Normalize sentinel. Use _MACHINE_*_H_ and _<ARCH>_*_H_ properly and consitently.Paul Irofti
Discussed and okay drahn@. Okay deraadt@.
2011-02-26Force the DUID cache used to generate hw.disknames to be updatedKenneth R Westerback
after every disklabel read or write. This keeps the DUID cache more in sync with the physical world. De-syncing noted by drahn@ while zapping disklabels with dd. ok jsing@ deraadt@
2011-01-14- use nitems()Jasper Lievisse Adriaanse
"doesn't hurt" deraadt@
2011-01-05Pass pmap_bootstrap() the memory range used by the PROM/BUG/firmware/whatever,Miod Vallat
instead of assuming it is ``everything below the kernel image''.
2011-01-02Kill pmap_table_t typedef.Miod Vallat
2011-01-02Fix dump to work with PMAP_DIRECT, as done on mvme88k.Miod Vallat
2010-12-31Massive overhauling of the m88k pmap, though I can't pretend it's a new pmapMiod Vallat
since a large part of the structures and logic remains. Since m88k has separate supervisor/user spaces, we can map physical memory 1:1 in supervisor space, and have the kernel virtual address space start from the end of physical memory. This allows us to switch to __HAVE_PMAP_DIRECT. And to get rid of the double mapped sdt, since now their virtual and physical addresses will always match. The upper bound of the kernel virtual memory space is now platform dependent, until the code which relies upon some hardware devices being mapped 1:1 in supervisor mode is updated to no longer require this (this is mainly a PITA on luna88k, where onboard devices start at 0x40000000, leaving only 1GB of KVA at the moment - still much better than the previous 512MB). Tested on mvme88k only (187, 188, 197LE, 197DP). Other platforms ought to work, aviion will be checked shortly and fixed if necessary. No known OpenBSD/luna88k system in working condition at the moment.
2010-12-30If genassym fails, sort on the pipeline will indicate no error resultingTheo de Raadt
in some grief. Split this out. From Vladimir Kirillov
2010-12-26Kill pmap_phys_address(), and force every driver's mmap() routine to returnMiod Vallat
a physical address [more precisely, something suitable to pass to pmap_enter()'sphysical address argument]. This allows MI drivers to implement mmap() routines without having to know about the pmap_phys_address() implementation and #ifdef obfuscation.
2010-12-23The exception vector page on m88k systems has always been the same page asMiod Vallat
the one used by the firmware, which (at least on mvme88k) is at address zero. This is unfortunate, since this means that NULL pointer dereferences in the kernel are not caught, and writes cause havoc. This behaviour was necessary to be able to use the PROM system call interface during early bootstrap, without having to disassemble the VBR page and update branches - which use pc-relative displacement - if we were to use a different VBR address. On mvme88k, change this and actually set up two VBR pages: one, over the PROM page (except for the system call vectors), and another one in the kernel image (which will be mapped read-only). We'll run with the PROM page until the end of autoconf, and then switch to the kernel one, and unmap all the PROM below it. As a bonus, the final kernel page can use optimized data access fault handlers, which do not have to check for faults caused by badaddr(), since badaddr() is only used during device probe on buses which do not support hotplug. There are a few infrastructure collateral damage on aviion and luna88k, but these ports do not change their behaviour yet.
2010-12-21Convert netisr to a normal soft interrupt instead of hanving MD codeClaudio Jeker
for it. This makes the netisr a real C function which will help further development. No noticable performance change on i386 and amd64. With input from kettenis@ and miod@ additional OKs mikeb@ and henning@
2010-12-06- use consistent 'include' rules without a full relative path.Jasper Lievisse Adriaanse
tested on a GENERIC config from all arches. ok deraadt@ miod@
2010-12-02After the most recent change, make it possible to make -j again. TheTheo de Raadt
early MD and late MI files must be split up so that vers.o can sneak between. Issue spotted by bluhm, repair discussed with miod
2010-12-02move vers.o to before the other objects, so that it is not linked last.Theo de Raadt
having it linked last is bad (on at least i386 and amd64) because the lapic is mapped over the start of the data segment -- savecore(8) then reads the version string for a fixed buffer space, and reads into the lapic area causing unintended side-effects (at least on Intel X5570 and X5680) found by pedro, discussed with kettenis and mpf and miod
2010-11-22Remove bus_space_probe prototype, this function is not implemented.Miod Vallat
2010-11-18Do not #include <sys/dkstat.h> if you don't need anything from it.Miod Vallat
ok krw@ deraadt@
2010-11-12Push all potential (as in, all system MI not utilized by the bootblocks)Theo de Raadt
.h files into the ctags run as well to bring #define's and structs and such into scope. Problem reported by thib
2010-11-03no need to specify the -t flag to ctagsTheo de Raadt
2010-09-29It's never too late to make things at least compile.Miod Vallat
2010-09-23Add pppx(4) to the cdevs of the remaining archs.Claudio Jeker
OK dlg@
2010-09-20Get rid of evcount's support for arranging counters in a treeMatthew Dempsky
hierarchy. Everything attached to a single root node anyway, so at best we had a bush. "i think it is good" deraadt@