summaryrefslogtreecommitdiff
path: root/sys/src/9/omap
AgeCommit message (Collapse)Author
2016-12-10devmouse: change msec argument of *mousetrack() to ulongcinap_lenrek
2016-11-29omap: cleanup mouse.c, just a dummy for mousectl()cinap_lenrek
2016-11-29omap: fix format string warning %d for longcinap_lenrek
2016-01-05kernel: change active.machs from bitmap to char array to support up to 64 ↵cinap_lenrek
cpus on pc64
2015-11-30kernel: cleanup exit()/shutdown()/reboot() codecinap_lenrek
introduce cpushutdown() function that does the common operation of initiating shutdown, returning once all cpu's got the message and are about to shutdown. this avoids duplicated code which isnt really machine specific. automatic reboot on panic only when *debug= is not set and the machine is a cpu server or has no display, otherwise just hang.
2015-06-19kernel: do not pull in atom.s from libc for arm kernelscinap_lenrek
- provide our own copy of cas() in l.s - replace use of libc ainc()/adec() with portable incref()/decref()
2015-04-30pass Ureg* argument to note handler in R0 register on armcinap_lenrek
userspace note handlers, like any function, expect ther first argument in R0 register on arm.
2015-04-07kernel: move arrow cursor definition to port/devmouse.ccinap_lenrek
2015-02-14usbehci: initial support for usb on zynq, remove uncached.hcinap_lenrek
the following hooks have been added to the ehci Ctlr structore to handle cache coherency (on arm): void* (*tdalloc)(ulong,int,ulong); void* (*dmaalloc)(ulong); void (*dmafree)(void*); void (*dmaflush)(int,void*,ulong); tdalloc() is used to allocate descriptors and the periodic frame schedule array. on arm, this needs to return uncached memory. tdalloc()ed memory is never freed. dmaalloc()/dmafree() is used for io buffers. this can return cached memory when when hardware maintains cache coherency (pc) or dmaflush() is provided to flush/invalidate the cache (zynq), otherwise needs to return uncached memory. dmaflush() is used to flush/invalidate the cache. the first argument tells us if we need to flush (non zero) or invalidate (zero). uncached.h is gone now. this change makes the handling explicit.
2015-02-07kernel: reduce Page structure size by changing Page.cachectl[]cinap_lenrek
there are no kernels currently that do page coloring, so the only use of cachectl[] is flushing the icache (on arm and ppc). on pc64, cachectl consumes 32 bytes in each page resulting in over 200 megabytes of overhead for 32gb of ram with 4K pages. this change removes cachectl[] and adds txtflush ulong that is set to ~0 by pio() to instruct putmmu() to flush the icache.
2014-12-16kernel: remove obsolete comment regarding Mntcache size in */main.ccinap_lenrek
2014-12-14kernel: get rid of /boot/boot parametrizationcinap_lenrek
there is no use for "bootdisk" variable parametrization of /boot/boot and no point for the boot section with its boot methods in the kernel configuration anymore. so mkboot and boot$CONF.out are gone. move the rules for bootfs.paq creation in 9/boot/bootmkfile. location of bootfs.proto is now in 9/boot/bootfs.proto. our /boot/boot target is now just "boot".
2014-11-09kernel: remove implicit Proc* argument from procctl()cinap_lenrek
procctl() is always called with up and it would not work correctly if passed a different process, so remove the Proc* argument and use up directly.
2014-09-28apply ps2mouse corruption fix to omapcinap_lenrek
the omap ps2mouse driver is currently unused, but in case of being finished at some point, apply the fix from the pc driver.
2014-06-08kernel: remove _xinc()/_xdec()cinap_lenrek
as with the Block refcount changes, _xinc() and _xdec() arent used anymore, so remove them. architecure can still define ainc()/adec() when it needs them.
2014-06-08omap: move syscall.$O target from config to mkfilecinap_lenrek
2014-06-08omap: remove Block refcountingcinap_lenrek
2014-01-20kernel: various cleanupscinap_lenrek
2014-01-20kernel: apply uintptr for ulong when a pointer is storedcinap_lenrek
this change is in preparation for amd64. the systab calling convention was also changed to return uintptr (as segattach returns a pointer) and the arguments are now passed as va_list which handles amd64 arguments properly (all arguments are passed in 64bit quantities on the stack, tho the upper part will not be initialized when the element is smaller than 8 bytes). this is partial. xalloc needs to be converted in the future.
2013-12-29kernel: dont call pprint() while holding up->debug qlockcinap_lenrek
pprint() might block or even (maliciously) call into devproc write which will corrupt the qlock chain on attempt to qlock up->debug again.
2013-12-16devether: remove qfull prints and fix loopback packet handling of etheroq()cinap_lenrek
dont spam the console with qfull warnings. this makes things worse. handle loopback packets as stated in the comment. we call etheriq() with fromwire=1 for loopback packets so etheriq() can pass the packet on (without copying) or free it. dont inhibit interrupts while calling etheriq(). etheriq() can safely be called from process and interrupt context. it is unclear what this was supposed to fix and testing didnt seem to have any odd effects.
2013-06-14fpiarm: condok() verfiy before specialop() omap/kwjpathy
2013-06-12Remove unused fpemu function in omap, kwjpathy
2013-06-12ARM: kernel: add vfp emulator to bcm, teg2, omap, kwjpathy
2013-05-30kernel: do all fp state fork from procfork() (like pc kernel)cinap_lenrek
this simplifies the arm ports and keeps all the stuff in one place instead of spreading it thru notify(), trap() and syscall() functions and prevents useless fp state copying for kernel procs. also make sure to save fp in notify while still splhi().
2013-04-29Fix double-free fault when isaconfig returns nothing for "etherN". (from ↵cinap_lenrek
richard millers devether-doublefree patch)
2013-04-14reduce software cursor flickeringcinap_lenrek
the software cursor starts flickering and reacts bumby if a process spends most of its time with drawlock acquired because the timer interrupt thats supposed to redraw the cursor fails to acquire the lock at the time the timer fires. instead of trying to draw the cursor on the screen from a timer interrupt 30 times per second, devmouse now creates a process calling cursoron() and cursoroff() when the cursor needs to be redrawn. this allows the swcursor to schedule a redraw while holding the drawlock in swcursoravoid() and cursoron()/cursoroff() are now able to wait for a qlock (drawlock) because they get called from process context. the overall responsiveness is also improved with this change as the cursor redraw rate isnt limited to 30 times a second anymore.
2013-03-16sysexec: fix possible segment overlap with temporary stackcinap_lenrek
the kernel uses fixed area (TSTKTOP, TSTKSIZ) of the address space to temporarily map the new stack segment for exec. for 386 and arm, this area was right below the stack segment which has the problem that the program can map arbitrary segments there (even readonly). alpha and ppc dont have this problem as they map the temporary exec stack *above* the user reachable stack segement and segattach prevents one from mapping anything above or overlaping the stack. lots of arch code assumes USTKTOP being the end of userspace address space and changing this to TSTKTOP would work, but results in lots of hard to test changes. instead, we'r going to map the temporary stack programmatically finding a hole in the address space where to map it. we also lift the size limitation for arguments and allow arguments to fill the whole new stack segement. the TSTKTOP and TSTKSIZ are not used anymore so they where removed. references: http://9fans.net/archive/2013/03/203 http://9fans.net/archive/2013/03/202 http://9fans.net/archive/2013/03/197 http://9fans.net/archive/2013/03/195 http://9fans.net/archive/2013/03/181
2013-01-26omap: update omap kernel (from sources)cinap_lenrek
refactors of the usb ehci code and adds vfp support
2013-01-25omap: fix breakpoint instruction trap handling (from sources)cinap_lenrek
2013-01-13remove non standard COM3 (eia2) serial port from i8250 uart.cinap_lenrek
access to non standard serial port COM3 at i/o port 0x200 causes kernel panic on some machines (Toshiba Sattelite 1415-S115). also, some machines have gameport at 0x200. i readded uartisa to the pcf and pccpuf kernel configurations so one can use plan9.ini to add non standard uarts like: uart2=type=isa port=0x200 irq=5
2012-12-06move devusb to portcinap_lenrek
moved devusb to port, shifting the responsibility of how to enable interrupts to the arch specific hci driver.
2012-09-14Qcoalesce patch to satisfy full read lengthcinap_lenrek
2012-05-03kernel: move duplicated random.c to portcinap_lenrek
2012-02-23correcting unicode superscripts for 1 2 and 3cinap_lenrek
2011-12-14kernel: fix wrong calculation of swap iolist sizecinap_lenrek
2011-10-25fix _tos->pcycles, make _tos->kcycles actually count cycles executing kernel ↵cinap_lenrek
code on behalf of the process
2011-08-17change definition of Chan.create to return a chan like opencinap_lenrek
2011-07-12segdesc: add /dev/^(ldt gdt) supportcinap_lenrek
2011-06-04cleanup boot(8), replace read(1), fix cpu kernel configscinap_lenrek
2011-06-04boot(8): replace bzfs with paqfscinap_lenrek
2011-05-21remove keyboard stuff from other ports, make openssl and python compile on armcinap_lenrek
2011-03-30Import sources from 2011-03-30 iso image - libTaru Karttunen
2011-03-30Import sources from 2011-03-30 iso imageTaru Karttunen