Commit Graph

28133 Commits

Author SHA1 Message Date
thorpej 099e93139b In setregs(), initialize the process's MXCSR to the reset-default
value as documented in the IA-32 Instruction Set Reference (in the
description of the LDMXCSR insn).
2001-08-03 01:24:39 +00:00
thorpej cfb1fd004d Don't clobber the MXCSR when we fake FNINIT. 2001-08-03 01:21:34 +00:00
thorpej f72ee0a9c6 Remember the MXCSR at last-exception the way we do the FPU SW/TW. 2001-08-03 01:11:49 +00:00
groo 3f5acd41c2 Remove trailing "U" on KERNBASE introduced in last commit.
Breaks assembly of locore.
2001-08-03 01:03:10 +00:00
thorpej 6e331fdd9f Define KERNTEXTOFF in terms of KERNBASE. 2001-08-03 00:47:59 +00:00
thorpej 8f308d671e Adapt to new FPU save format in PCB. 2001-08-03 00:41:46 +00:00
bjh21 8c3ac05de9 Bump version for * command addition. 2001-08-03 00:41:12 +00:00
bjh21 33452511ed Add a single * command, *boot26, so that the module can be manually invoked
after it's loaded.
2001-08-03 00:40:23 +00:00
bjh21 b471d90032 Add OS_Module. 2001-08-03 00:32:30 +00:00
bjh21 6e82ab9796 Wrap boot26 in a minimal relocatable module. When *RMRun, it just copies the
existing boot26 code to 0x8000 and runs it.
2001-08-02 23:55:55 +00:00
bjh21 3e749936d6 Script to generate a help string for a RISC OS module from the same sources
as newvers_stand.sh uses.
2001-08-02 23:47:07 +00:00
bjh21 4eebbc71e2 Don't force booters to have srt0.S at the start if they don't want to.
Also allow them to override the filetype they end up with.
2001-08-02 23:38:04 +00:00
eeh 09c1ee004c Fix bcopy. 2001-08-02 22:41:32 +00:00
thorpej f0449fd933 - Rename cpu_use_fxsave to i386_use_fxsave.
- If we detect SSE/SSE2 support in the CPU, enable SSE exceptions
  and set i386_has_{sse,sse2} as appropriate.
- Expose i386_use_fxsave and i386_has_{sse,sse2} through sysctl
  as machdep.{osfsxr,sse,sse2}.
2001-08-02 22:04:28 +00:00
thorpej 99a7f640fe Add support for saving/restoring SSE/SSE2 state using FXSAVE/FXRSTOR.
Reviewed by Frank.
2001-08-02 21:04:43 +00:00
bjh21 a2ac0e50f5 Bump version number for loadfile changes. 2001-08-02 20:24:03 +00:00
ichiro 9ada1599ca implement rx/tx protocol routine of atmel microcontroller. 2001-08-02 18:51:00 +00:00
matt d4a7b6fc1c Fix non-properly ifdef'ed SUN4 only code. 2001-08-02 18:06:22 +00:00
bjh21 10414d85a9 Undo version bump. The sparc ofwboot doesn't use loadfile(). 2001-08-02 16:22:46 +00:00
toshii 5424e08a49 Change the start address to load the kernel. We have 768k more free
memory now.
2001-08-02 14:45:40 +00:00
toshii 7aac1bef3b Don't assume KERNEL_TEXT_BASE >= 0xc0080000. 2001-08-02 14:42:08 +00:00
bouyer f7c2f13a54 Properly setup timings for ata-4 controllers, including UDMA modes.
Tested on a brand new ("dual USB ?") ibook.
2001-08-02 12:41:39 +00:00
bjh21 ad2c12a28d Bump version numbers of all bootloaders that use loadfile/ELF, to account for
my changes to symbol loading.  I should probably have done this at the time,
but it's better late than never.
2001-08-02 12:24:05 +00:00
shin ad4858224a make this file compilable without TX39IRDEBUG. 2001-08-02 04:30:01 +00:00
eeh afa694c704 Sync bzero w/libc version. 2001-08-02 01:47:47 +00:00
ad aaf3c7c88b Hook in the mly control interface on i386. 2001-08-01 20:54:16 +00:00
thorpej 4b584bf5bb Add several more Intel cache info entries, and fetch the CFLUSH
line size if we have the CFLUSH insn.
2001-08-01 19:50:48 +00:00
thorpej ebbd9cd428 Add some more CPUID feature bits. 2001-08-01 18:47:38 +00:00
eeh 5cfec63f0d Integrate fixes from userland memset. 2001-08-01 17:01:26 +00:00
rjs faf8b4c913 Update from hpcarm with changes to probe routine and test for chip ID. 2001-08-01 14:02:58 +00:00
ichiro d9f2bbf31f add initialization of GPDR pin direction to ipaqpcic_init(sc).
add judgment of complete of the Card (SAPCIC_STATUS_READY)
2001-08-01 13:18:44 +00:00
haya 3d57cec099 Add new entry for intel ICH2 LPC interrupt router. It has
upper compatibility with piix.
2001-08-01 09:11:19 +00:00
ichiro 1af1e2f9eb implement a atmelgpio.c
this is initial version, only frame.
2001-08-01 07:59:43 +00:00
ichiro e1eef3118a add entry of Atmel microcontroller and uda1341 codec 2001-08-01 07:03:45 +00:00
ichiro a179a1a6b1 i mistake
reverse a change
2001-08-01 07:02:54 +00:00
ichiro 1b56a92cf9 add entry of Atmel microcontroller and uda1341 codec 2001-08-01 06:59:17 +00:00
ichiro 4c5c9a1509 add register of GPCLK/UART1 (SACOM1_BASE) 2001-08-01 06:43:50 +00:00
ichiro 286cc764db add more register of DUAL PCMCIA SLEEVE for iPAQ 2001-08-01 06:14:31 +00:00
jdolecek 98cdfa790c fix typo for previous in I386_CPU case 2001-07-31 22:52:44 +00:00
ichiro 1af74c304d iPAQ uses Atmel microcontroller to service a few peripheral devices
(Touch panel, Battery status, button events, and others status)
2001-07-31 21:33:03 +00:00
thorpej c43f8649d2 Set up function pointers for copyin/copyout in preparation for
adding optimized versions for various CPU classes/models.

Split the 386 version of copyout into a separate routine, and
add a 486 version that doesn't have the class/page-writeability
check.
2001-07-31 18:28:58 +00:00
matt 03b77c0534 Add a CPU_XSCALE defopt (for eventual support). 2001-07-31 17:00:24 +00:00
jdolecek 2b7d2123cd Make console polling (cnpollc/cngetc) work on IBM PS/2 keyboard controller
using level triggered interrupts, which livelocks calling intr routine
if the data register is not read in the interrupt routine, as it's case
when polling after interrupts are enabled during boot.

Block all interrupts when polling for keypress, and modify intr routine
to read and store value from data register. The latter one is to avoid
losing a keypress when one would manage to press a key when kernel is
not in spl-guarded code section.

Tested with classic pccons, 'pcconskbd at pckbc' and 'pckbd at pckbc'
configurations, on i386.
2001-07-31 13:15:28 +00:00
eeh 5bacff5834 Code cleanup and optimization. 2001-07-31 06:58:09 +00:00
eeh 830be13fa2 Dump some enums that make lint unhappy and we never really use anyway. 2001-07-31 06:55:46 +00:00
chs fb5f7652b6 fix think-o in pmap_kenter_pa(). 2001-07-31 05:29:24 +00:00
chs 0d8e804191 fix typo in previous. 2001-07-31 02:17:27 +00:00
jdolecek 2d5bc65e0b enable KERNFS, it's used by installation 2001-07-30 21:50:48 +00:00
scw 6e0195e742 Make the set_page_cacheable/set_page_cacheinhibit functions do the
right thing on 68030 again.
2001-07-30 21:32:49 +00:00
scw da3836f00d Flush the caches in pmap_remove_mapping() when PRM_CFLUSH is specified.
Also, flush the ATC for the page in pmap_kenter_pa() after setting up the
mapping. With any luck this last one might just solve the 060 problems I've
been seeing...
2001-07-30 21:25:08 +00:00
jdolecek b0f8b119a2 fix comment 2001-07-30 20:51:29 +00:00
ad 3b1828355b Add a driver for Mylex AcceleRAID and eXtremeRAID controllers with v6
firmware. Based off the FreeBSD driver, and re-worked by tls, erh and I.
2001-07-30 19:59:04 +00:00
jdolecek b0178f25e3 Move GENERIC_PS2 to GENERIC_PS2TINY, update comments to reflect this config is
intended for small memory machines.
Update INSTALL_PS2 appropriately.
2001-07-30 18:24:07 +00:00
jdolecek 3531778254 add MCA stuff, for IBM PS/2 2001-07-30 18:03:54 +00:00
mhitch 1dcdcbf286 The memmap structure contains the memory bitmap returned by the PROM
getbitmap() call.
2001-07-30 17:05:51 +00:00
rjs 6b65fea380 Remove unused hpc includes. 2001-07-30 16:23:09 +00:00
rjs 9013c85405 Update from hpcarm to remove iPAQ egpio code. 2001-07-30 16:20:06 +00:00
rjs 51bc7258f8 Update from hpcarm with MCP base definition. 2001-07-30 16:08:42 +00:00
rjs c79059dd3f Update from hpcarm to remove iPAQ and Jornada specific #defines. 2001-07-30 15:58:56 +00:00
rjs b85ae98e65 Update from hpcarm with MCP register definition. 2001-07-30 12:19:04 +00:00
rjs 495d108bd3 Update from hpcarm with cookie change. 2001-07-30 10:55:49 +00:00
rjs 9b65c24aa5 Remove unused LCD definitions. 2001-07-30 10:50:59 +00:00
rjs 1304d2220e Mirror removal from hpcarm. 2001-07-30 10:48:31 +00:00
rjs 499d1068e8 Update from hpcarm. 2001-07-30 10:46:08 +00:00
rjs e35b542831 Mirror removal from hpcarm. 2001-07-30 10:33:59 +00:00
rjs 730b1a57ac Copy from hpcarm. 2001-07-30 10:17:21 +00:00
chs 75b9f41751 adjust the hack to build the SRT*.o files. 2001-07-30 00:10:20 +00:00
chs 690a630673 increase the memory disk size, it needs to be bigger with ELF. 2001-07-30 00:09:08 +00:00
chs 29f6bd03da use pmap_k* for buffer cache pages. 2001-07-29 23:56:33 +00:00
chs 5ad381c2a0 use pmap_k* in pagemove(). 2001-07-29 23:51:40 +00:00
christos b92cbe7184 now that we know what the traps mean, print their name in debug mode. 2001-07-29 19:31:41 +00:00
toshii 9221ef3b13 Make hpcarm kernel build after arm/arm32 file move. 2001-07-29 15:21:33 +00:00
chris fa4e4d9668 Rework the pmap_release code to not have to walk the ptpt, it now uses a uvm_object to track the allocated vm_pages, this means it can free off the entries in the uvm_object.
Testing shows that it's about 5% faster on the make configure step for gmake.
2001-07-29 12:45:27 +00:00
chris 89415a32e2 PR 13581
Add empty pmap.h and vmparam.h to make userland happier.
2001-07-29 09:50:07 +00:00
chris af16732a3a Fix for PR 13580.
Make sysarch include sys/stdint.h so it picks up the a definition of uintptr_t.
2001-07-29 08:37:56 +00:00
matt 691dacb39a This is needed anymore and should have been removed a while ago. 2001-07-29 00:35:41 +00:00
matt ed87139e40 Remove opt_footbridge from conf.c
Use dev/ic/i8253reg.h instead of private timerreg.h
2001-07-29 00:34:44 +00:00
bjh21 1ede42fe57 Add <machine/sysarch.h> to go with sysarch(). 2001-07-28 19:14:00 +00:00
bjh21 c5ae075e50 Add a very simple sysarch() implementation so that libarm32 will work.
This should go when arm26 uses cpufunc like everyone else.
2001-07-28 19:12:50 +00:00
chris 9f04d8d670 A couple of tidy ups to pmap:
pmap_t -> struct pmap * in pmap.c and pmap.h
kernel_pmap -> pmap_kernel() everywhere.

Compiled and booted on riscpc and cats.
2001-07-28 18:12:43 +00:00
chs e2de9310c3 fix pmap_extract() to handle unmapped kernel addresses. 2001-07-28 17:18:59 +00:00
chris 17ecd4e41a Update Makefile.arm32 for the newly moved locore.S and genassym.cf 2001-07-28 15:50:40 +00:00
chris 4a126d9937 finish moving common arm32 bits out into arm/arm32. 2001-07-28 15:08:10 +00:00
bjh21 0847de74d2 Add copyright notices. Use MEMC_PHYS_BASE rather than 0x02000000. 2001-07-28 13:49:25 +00:00
bjh21 ddf906b00d Use ld -N (OMAGIC), since this saves the 32k of RAM (by not putting a gap
between text and data) and means that loadfile only needs one backward seek
to load the file rather than two (which is important for gzipped kernels).
2001-07-28 13:48:32 +00:00
chris 27f96e8440 Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc. 2001-07-28 13:28:03 +00:00
chris 9c823196e0 Change -x into -X for linking, it makes traces more meaningful. 2001-07-28 13:24:24 +00:00
tsutsui 6be7c15373 bcopy -> memcpy 2001-07-28 13:21:26 +00:00
tsutsui 88fbdda31f bcopy -> memcpy 2001-07-28 13:08:34 +00:00
bjh21 f3b9fa04ed Only declare kernel objects ifdef _KERNEL. 2001-07-28 12:53:06 +00:00
bjh21 ec79dd3942 Add installation glue. 2001-07-28 12:44:54 +00:00
chris 37dc65af43 bzero->memset 2001-07-28 12:29:58 +00:00
chris 338f184d45 Fixup stray interrupt handler's return address. 2001-07-28 12:28:56 +00:00
chris 0481f078a0 bzero -> memset 2001-07-28 11:17:15 +00:00
scw d750508a87 Hook the error interrupt only once, otherwise we'd fail when hooking
the interrupt for the 2nd DRAM board where two boards are present.
2001-07-28 08:30:23 +00:00
matt 218b61dcd1 Change clock_t and time_t to more LP64 friendly types. 2001-07-28 07:43:07 +00:00
matt 36dc943f75 Change ARM-ELF to LP64 friendly types. 2001-07-28 07:42:28 +00:00
matt f47c5bbd3d Under ELF, change clock_t and time_t to int's (more LP64 friendly). 2001-07-28 05:04:45 +00:00
bjh21 9139a37393 New arm26 bootloader. Mostly a translation of BBBB into C, using libsa so
we get goodies like gzipped kernels for free.
2001-07-27 23:13:49 +00:00
bjh21 0ad24007df Add assorted stuff that we need in order to shut RISC OS down cleanly. 2001-07-27 23:09:15 +00:00