Commit Graph

15310 Commits

Author SHA1 Message Date
thorpej
3af0f95d24 Define a macro to test PG_EXEC. 1998-06-11 05:10:41 +00:00
thorpej
55207ad8b4 Define a software PTE bit to track VM_PROT_EXEC. 1998-06-11 05:09:47 +00:00
thorpej
afc9b7c59b Significantly reduce the number of I-stream synchronizations by really
decoupling this operation from TLB invalidations (e.g. pull I-stream
syncs out of loops, executing them only once, etc.).
1998-06-11 05:08:37 +00:00
sakamoto
2855774022 Remove unused message. 1998-06-11 05:03:30 +00:00
thorpej
817b595bab Separate syncing the I-stream from invalidating the translation buffer. 1998-06-11 02:45:21 +00:00
thorpej
1abd24fffe Correct a comment. 1998-06-11 00:34:16 +00:00
tv
7ea013ce82 Include "pc.h" and check NPC - allows ofcons to be the system console. 1998-06-10 21:55:30 +00:00
tsubai
5c89a4e36b Move static variables to struct softc.
Remove unused struct members.
1998-06-10 16:27:30 +00:00
gwr
dbeb2648a6 Switch over to MACHINE_NEW_NONCONTIG 1998-06-10 02:42:14 +00:00
thorpej
f8e69a4627 Don't enable BUS_SPACE_DEBUG automatically if DEBUG is defined. 1998-06-09 22:53:57 +00:00
gwr
1b01ec0993 First cut at UVM support. Compiles, but not tested yet. 1998-06-09 20:47:17 +00:00
gwr
c714d95b83 First cut at MACHINE_NEW_NONCONTIG - not enabled yet. 1998-06-09 20:31:28 +00:00
gwr
557be5668b Move sun3x _pmap_fault macro from pmap.h to trap.c 1998-06-09 19:58:50 +00:00
thorpej
02182100df Use config_defer(). 1998-06-09 18:49:33 +00:00
gwr
d74e1744f5 Fix a warning 1998-06-09 17:19:01 +00:00
gwr
d0a7f4f72b Make this compile... 1998-06-09 17:10:11 +00:00
gwr
6e85156429 Simplify ifdefs in cg4b_ldcmap() 1998-06-09 16:10:25 +00:00
gwr
3634eb6176 Make this work on the 3/80, which has the Brooktree DAC
wired high-byte-only like the sparc. (yuck!)
1998-06-09 14:38:59 +00:00
ragge
b25b5bddd1 #ifdef _KERNEL whole this file. 1998-06-09 14:03:24 +00:00
ragge
f6a6201ac7 Bugfix; now VS3100/m76 also works. 1998-06-09 14:02:01 +00:00
tv
bb63045726 Add recent ddb_init() interface change. 1998-06-09 12:01:28 +00:00
tsubai
3e21bf604d Remove unused variables. 1998-06-09 11:30:09 +00:00
ross
69717a7f0e Fix a UVM #if so {} balance is preserved and ctags(1) doesn't lose. 1998-06-09 09:31:58 +00:00
dbj
ddff5f8e94 Initial import of NetBSD/next68k. 1998-06-09 07:53:05 +00:00
sakamoto
949c52c154 add address conversion macro for MPC105 and some fix. 1998-06-09 05:53:30 +00:00
sakamoto
040581ceed Add UVM support. 1998-06-09 05:41:19 +00:00
chs
a5550009e6 correct counting for uvmexp.wired:
only pages explicitly wired by a user process should be counted.
1998-06-09 05:18:52 +00:00
sakamoto
e922c9cfec Use PowerPC-generic stuff and eliminate the powermac portion. 1998-06-09 04:27:53 +00:00
scottr
5444e91249 The Performa 58x comm slot SONIC cards behave the same way as in
the LC/Performa 57x.  From Yasuhiro Endoh.
1998-06-09 03:39:50 +00:00
tv
00ede2160e Change ddb_init() for a.out to provision for kernels which are not booted by
the current 'bootblock' method, like the Shark, which preloads and preformats
the symbol table right in the boot code.
1998-06-09 01:57:41 +00:00
tv
5ba723ecf2 Cleanup: move {SWAP,DEV,VNODE}PAGER to std.arm32; required for Mach VM, and
happily ignored by UVM.
1998-06-09 01:15:48 +00:00
thorpej
680a3d77f4 Add isa_dma{freeze,thaw}(), used to temporarily stop and then restart
all ISA DMA.  Needed by e.g. the SmartCard reader for Sharks.
1998-06-09 01:04:17 +00:00
mark
4c80d03830 Remove several cache invalidation instrcutions from routines like
sa110_context_switch() as they are not needed.
1998-06-09 01:02:14 +00:00
tv
46565ac270 Add disksubr_acorn.c as well. These could likely be changed to use kernel
options, but this gets the kernel at least to compile, link, and work.
1998-06-09 00:39:47 +00:00
tv
b4511c9330 Add disksubr_mbr.c dependent on `disk'. 1998-06-09 00:31:23 +00:00
thorpej
e333272393 Change the ISA DMA API to take an isa_chipset_tag_t rather than
a struct device * corresponding to the ISA bus device.  The ISA DMA
controller driver functions have been renamed and now take a struct
isa_dma_state *, and are called indirectly by machine-dependent code
which provides the DMA state.

These changes allow e.g. `ofisa' (the OpenFirmware configuration
mechanism for the ISA bus, used by e.g. Sharks) to use the MI ISA
DMA controller code.
1998-06-09 00:12:18 +00:00
thorpej
98d02e5c94 Provide an isa_chipset_tag_t to the ISA bus device. 1998-06-09 00:12:00 +00:00
thorpej
dde710c6f9 Adjust for changes to the ISA DMA API. 1998-06-09 00:11:34 +00:00
thorpej
f194cb8705 Provide an isa_chipset_tag_t to children. 1998-06-09 00:10:27 +00:00
thorpej
0b76aff07b Change the ISA DMA API to take an isa_chipset_tag_t rather than
a struct device * corresponding to the ISA bus device.  The ISA DMA
controller driver functions have been renamed and now take a struct
isa_dma_state *, and are called indirectly by machine-dependent code
which provides the DMA state.

These changes allow e.g. `ofisa' (the OpenFirmware configuration
mechanism for the ISA bus, used by e.g. Sharks) to use the MI ISA
DMA controller code.
1998-06-09 00:10:02 +00:00
thorpej
eddb2f4269 Adjust for change to the ISA DMA API. 1998-06-09 00:09:43 +00:00
thorpej
7c54de8712 Change the ISA DMA API to take an isa_chipset_tag_t rather than
a struct device * corresponding to the ISA bus device.  The ISA DMA
controller driver functions have been renamed and now take a struct
isa_dma_state *, and are called indirectly by machine-dependent code
which provides the DMA state.

These changes allow e.g. `ofisa' (the OpenFirmware configuration
mechanism for the ISA bus, used by e.g. Sharks) to use the MI ISA
DMA controller code.
1998-06-09 00:08:43 +00:00
thorpej
a3dbb61f55 Provide an isa_chipset_tag_t to the ISA bus device. 1998-06-09 00:08:12 +00:00
thorpej
53394a1d41 Change the ISA DMA API to take an isa_chipset_tag_t rather than
a struct device * corresponding to the ISA bus device.  The ISA DMA
controller driver functions have been renamed and now take a struct
isa_dma_state *, and are called indirectly by machine-dependent code
which provides the DMA state.

These changes allow e.g. `ofisa' (the OpenFirmware configuration
mechanism for the ISA bus, used by e.g. Sharks) to use the MI ISA
DMA controller code.
1998-06-09 00:06:54 +00:00
thorpej
8dedb90f13 The ISA chipset must persist; it's required after autoconfig time. 1998-06-08 23:49:05 +00:00
tsubai
25d2a890b1 Adjust intrnames. 1998-06-08 21:27:10 +00:00
gwr
5260d3fc8e Add UVM support 1998-06-08 20:47:45 +00:00
gwr
28a7286ede Uh, something went wrong last time? 1998-06-08 20:38:35 +00:00
tsubai
e4e1bc1af9 Not used. 1998-06-08 20:36:36 +00:00
tsubai
c0e7a80f53 Introduce newsmips_intr_t for intrcnt[]. 1998-06-08 20:35:14 +00:00
gwr
ba4cb4e29d Kill the printf: enabling zs interrupts 1998-06-08 20:34:43 +00:00
tv
8f428e3872 Kill non-NetBSD RCS tags. 1998-06-08 20:23:07 +00:00
mark
0f5f9c0221 Added support for DOS MBRs in addition to filecore boot blocks from
Chris Demetriou. Filecore and MBR handling has been split out into
separate files. Still needs some work before this could become MI.
Also fix the way in which arm32 filecore checksums are calculated so
that sectors filled with the same byte will not pass the checksum.
1998-06-08 20:21:17 +00:00
gwr
be58914fa7 Sync with RAMDISK:
No need for any COMPAT_* options in the ramdisk kernel
Can do without the uk driver also...
1998-06-08 20:20:05 +00:00
gwr
629b52dbcc Sync with 1.3.2 release branch:
No need for any COMPAT_* options in the ramdisk kernel
Can do without the uk driver also...
1998-06-08 20:17:40 +00:00
ragge
8260bcaff5 Wall fixes. 1998-06-08 18:42:40 +00:00
tv
f19cf41458 Add rcsID. 1998-06-08 18:18:58 +00:00
tv
ae1b70e048 ISA shark-dependent code. Missed this file on last commit. 1998-06-08 18:18:11 +00:00
tv
ee69a0b0a0 Add ISA support needed for Shark and the CATS board (CATS isa_machdep not
here yet).
1998-06-08 17:49:42 +00:00
ragge
3c3c83f7ad Bugfix: use of uninitialised variable that gcc didn't notice. 1998-06-08 15:04:26 +00:00
lukem
8fb1228bc8 everything has bugs; either document them or don't bother with a BUGS section 1998-06-08 13:02:19 +00:00
lukem
ed25dc5c57 if there's no known bugs, don't have a BUGS section 1998-06-08 11:35:10 +00:00
lukem
cd2f6e9504 remove unnecessary paragraph separator 1998-06-08 11:34:41 +00:00
lukem
d719a4221f if there's no known bugs, don't have a BUGS section 1998-06-08 11:34:04 +00:00
thorpej
ec7941bba2 Nuke __BROKEN_INDIRECT_CONFIG. 1998-06-08 06:45:55 +00:00
thorpej
f5cd6a7736 Add debugging support to the bus_space macros. If BUS_SPACE_DEBUG (or DEBUG)
is defined, the bus_space macros will check to ensure that the bus address
and the target buffer (if applicable) are aligned properly for the size
of the type being used.  If they are not, a message will be displayed on
the console.

Strict alignment is required by the Alpha architecture, and a trap will
occur of unaligned access is performed.  These changes will aid debugging
of broken device drivers.
1998-06-08 03:42:19 +00:00
pk
3f6155e843 Update from Iain for the parallel port stuff. 1998-06-07 21:14:17 +00:00
ragge
74b990a7b4 Identify 3100/m38 + /m48 1998-06-07 20:20:05 +00:00
ragge
d360348f52 DDB support on glass tty. Also smarter keyboard decoding. 1998-06-07 20:19:12 +00:00
sommerfe
aedc717c00 Hopefully avoid breaking PCMCIA on alpha. 1998-06-07 19:11:29 +00:00
ragge
2f1d0864fe UVM default on vax for now. 1998-06-07 18:39:15 +00:00
sommerfe
94de2146a9 Add ISA Plug and Play attachment for PCIC PCMCIA controller (pcic* at isapnp?).
Slightly modify ISA attachment to let the two share code.
1998-06-07 18:34:38 +00:00
ragge
60530637e4 Enable use of secondary cache, if present. 1998-06-07 18:34:09 +00:00
ragge
1a900c4abc Init some variables to not get trash on the screen. 1998-06-07 18:32:04 +00:00
tsubai
c9f9111be4 Add support for powerdown. 1998-06-07 06:31:17 +00:00
thorpej
528bbb95ed Add debugging support to the bus_space macros. If BUS_SPACE_DEBUG (or DEBUG)
is defined, the bus_space macros will check to ensure that the bus address
and the target buffer (if applicable) are aligned properly for the size
of the type being used.  If they are not, a message will be displayed on
the console.

While strict alignment is not strictly necessary on the x86, ensuring
proper alignment can aid performance, and help make drivers more portable
to architectures (like the Alpha and StrongARM) which _do_ require strict
alignment.
1998-06-07 03:32:32 +00:00
enami
c0c7384dde Also, remove space at the end of line. 1998-06-07 03:01:05 +00:00
enami
207a6dcab6 Use TAB instead of two space to indent. 1998-06-07 02:36:53 +00:00
enami
e33ef0027d Remove TAB after `options I686_CPU'. 1998-06-07 02:34:41 +00:00
thorpej
2e9939699d Kernel configuration for my Multia, an example of how to configure a
Multia w/ PCMCIA support.
1998-06-07 00:45:35 +00:00
thorpej
14df007174 Oops, don't forget to fill in *addrp. 1998-06-07 00:29:29 +00:00
thorpej
0890af5ca8 Only disable an interrupt line after MAXSTRAYs if there is no handler
attached; we get stray interrupts on PCI devices sometimes, for some
unknown reason.  (Similar problem exists on the 164SX, which also has
a Pyxis.)
1998-06-06 23:29:23 +00:00
thorpej
331a7f56c1 Remove some debugging code no longer relevant now that we have DMA
window chaining.
1998-06-06 23:11:52 +00:00
thorpej
eabad6b572 Implement bus_space_{alloc,free}() for swiz PCI I/O space. 1998-06-06 22:44:46 +00:00
thorpej
7a6d646c9b Implement bus_space_{alloc,free}() for BWX bus space. 1998-06-06 22:28:16 +00:00
thorpej
30f9be231f Restructure cpu_reboot() a bit, and add support for powering down
on the Sun4m if RB_POWERDOWN is specified.
1998-06-06 21:46:51 +00:00
thorpej
1c6a275e9c Only attempt the powerdown if the power register was mapped. 1998-06-06 21:40:20 +00:00
thorpej
402c48737f needs-flag'ize the power device. 1998-06-06 21:30:34 +00:00
thorpej
9553573381 If we have APM, only power down if RB_POWERDOWN was specified (fall into
RB_HALT case if it fails).
1998-06-06 21:27:31 +00:00
thorpej
fe17c44d6c Add support for software powerdown of the Digital Personal Workstation. 1998-06-06 20:53:41 +00:00
thorpej
04ba8480ae Use REGVAL64() to frob the Pyxis interrupt mask register. 1998-06-06 20:42:36 +00:00
thorpej
098dd211c7 Define a REGVAL64() for some Pyxis registers. 1998-06-06 20:40:14 +00:00
thorpej
49aea111fb If the platform specified a powerdown hook, and howto has RB_POWERDOWN,
call the hook.  If the hook fails, print a warning, and just halt (RB_HALT
is implied by RB_POWERDOWN).
1998-06-06 20:39:04 +00:00
thorpej
1733ad8dc5 Clean up a little, and add a `powerdown' hook in the platform structure. 1998-06-06 20:18:50 +00:00
thorpej
d08070a693 Add a comment describing the locking needs of the alpha_sgmap. 1998-06-06 20:12:28 +00:00
augustss
db50fa53b8 Add Aria driver. 1998-06-06 10:14:21 +00:00
mrg
e666cd4b3b install floppy kernel 1998-06-06 05:36:53 +00:00
mrg
ff6c535817 sync with other md_root.c files. 1998-06-06 05:12:54 +00:00
mrg
4bc09321a9 add md to the "sparc_nam2nlk" and "chr2blk" arrays. the former fixes
panics seen on a floppy boot in setroot() as it could not properly
determine the root device.
1998-06-06 05:03:23 +00:00
thorpej
85d08836f1 - Don't call *_dma_init() twice; there's no need to. Just do it in *attach().
- Display Pyxis revision properly.
1998-06-06 01:33:44 +00:00
thorpej
c0fa3c6ac4 Don't call *_dma_init() twice; there's no need to. Just do it in *attach(). 1998-06-06 01:33:23 +00:00
thorpej
59d76407b4 Display information about which sgmap we're attempting to initialize
if we die in alpha_sgmap_init().
1998-06-06 01:31:46 +00:00
ragge
08079a8f21 Don't compile in any rasterconsole code. 1998-06-05 22:17:02 +00:00
ragge
88d55c928c Add virtual console support. 1998-06-05 22:02:56 +00:00
thorpej
9331237596 Oops, turn off some debugging printfs. 1998-06-05 21:47:14 +00:00
thorpej
bf8523f4e4 - Egads! There are Pyxis "Pass 1" chips that do not have the DMA bug!
Use the check recommended by the Digital Workstation engineers; look
  for Miata 1 systems (i.e. with Intel SIO).  From Andrew Gallatin.
- Update copyright (Pyxis and BWX).
1998-06-05 19:25:19 +00:00
thorpej
f251e3372d Don't attempt to map the PCI IDE interrupt at bus 0 device 11 on the
AlphaPC 164 and AlphaPC 164LX - these are wired to compatibility mode.
1998-06-05 19:15:41 +00:00
thorpej
1aa688234e Miata 1 has an Intel SIO at bus 0 device 7 and a CMD PCI IDE at bus 0
device 4.  Miata 1.5 and Miata 2 have a Cypress at device 7 and PCI IDE
at functions 1 and 2 of the Cypress (like the PC164SX).  These on-board
PCI IDE controllers are wired to compatibility mode, so don't bother
trying to map the interrupt.
1998-06-05 19:04:51 +00:00
thorpej
a1c151d56b Add system variation for Miata 1.5. 1998-06-05 18:18:37 +00:00
thorpej
c072110af0 Actually, I did use a few of them on this file (I wasn't clear enough
in my mail to Ross, I guess...)
1998-06-05 17:42:53 +00:00
thorpej
bb362059ac On Pass 1 Pyxis, disable PCI Read Prefetching, and warn the user about
the DMA bug that exists on this Pyxis revision.
1998-06-05 17:24:11 +00:00
thorpej
29977868a7 What was called CNFG in ALCOR and ALCOR2 is actually called PYXIS_CTRL1
in Pyxis.  Add a comment to this fact.
1998-06-05 17:22:34 +00:00
thorpej
73e5032ac9 Define the Pyxis-specific bits in the CIA_CSR_REV register (ID mask, and
the ID for the 21174).
1998-06-05 17:16:31 +00:00
thorpej
2701ea3ef3 Add DEC_550 (Miata). 1998-06-05 17:03:07 +00:00
ross
5790ee09ee Revert...Jason didn't use Andrew's diffs. 1998-06-05 15:28:40 +00:00
mrg
428a0d387a remove old (now broken) memory disks hooks code. 1998-06-05 15:00:10 +00:00
mrg
135e6dc7e0 make this work with new md root stuff. 1998-06-05 14:57:55 +00:00
tsubai
26eb9abb32 Add support for NWB-231A 4-port RS-232C card. 1998-06-05 14:19:22 +00:00
tsubai
780f7fcf6f Remove excessive cache flush. 1998-06-05 12:34:06 +00:00
tsubai
8f262b2d67 Add (missing) "filedesc" 1998-06-05 12:24:44 +00:00
tsubai
6bf20f4c29 Add support for UVM and MACHINE_NEW_NONCONTIG. 1998-06-05 12:22:43 +00:00
sakamoto
9125a5f198 Merge in MACHINE_NEW_NONCONTIG support and some fix from Tsubai-San.
UVM support.
1998-06-05 11:27:09 +00:00
ross
8f455480ef Tweak the copyrights a little bit. pci_550.h gets a TNF copyright, not
CMU, and pci_550.c keeps TNF but gets "Andrew Gallatin and Jason R. Thorpe".
1998-06-05 03:34:27 +00:00
thorpej
cf914cac00 oops, read CNFG on all Pyxis revs. 1998-06-05 02:15:38 +00:00
thorpej
cbaedc8675 Support for the Digital Personal Workstation [456]xx, a.k.a. Miata (systype
DEC_550).  Mostly cloned from the EB164 systype, with some modifications
from myself, and a few more from Andrew Gellatin.
1998-06-05 02:13:41 +00:00
thorpej
3cfb38c5d1 Define the Pyxis interrupt request register. 1998-06-05 00:53:02 +00:00
thorpej
3249813e11 For whatever reason, the firmware seems to enable PCI loopback mode if it
also enables BWX.  Make sure it's enabled if we have an old, buggy firmware
rev.
1998-06-04 22:58:33 +00:00
thorpej
d4d49905dd Add support for using BWX for PCI config space and PCI i/o and mem space
on the ALCOR2 and Pyxis.  BWX is enabled iff:
- It hasn't been disabled by the user (patch `cia_use_bwx' or build cia.o
  with the option "CIA_USE_BWX=0"),
- it's enabled in CIA_CSR_CNFG,
- we are running on an EV5-family processor,
- BWX is in the processor's capabilities mask.
1998-06-04 21:34:45 +00:00
ragge
57ce421691 Clean upp system detect code. Enable primary cache on VS3100. 1998-06-04 19:42:14 +00:00
thorpej
616125f8d1 Deal with a hardware bug in Pass 1 and Pass 2 Pyxis chips. Basically,
the scatter/gather TLB cannot be invalidated on these chips.  So, to
work around this, we configure the otherwise unsed DMA Window 2 as a
2M SGMAP window at 128M, point all of its page table entries at the
DMA spill page, and, when the TLB is to be invalidated, put the PCI bus
into loopback mode, and create a target hit on Window 2 every 64k for
the number of TLB entries (plus a few ... it seems to not work unless
we read a few extra times), forcing out old TLB entries to make room for
the new, dummy target hits.
1998-06-04 18:11:23 +00:00
mark
c6d1832868 Include all the correct header files to get the prototypes of all the
soft net interrupt functions.
Handle NETISR_NATM soft interrupts.
1998-06-04 17:45:50 +00:00
mark
61298c0cbf Type postmortem_active as an int. (Pointed out by Patrick Welche). 1998-06-04 17:44:18 +00:00
ragge
78ebccfc2d Rudimentary support for the VS3100 builtin graphics console. 1998-06-04 15:51:12 +00:00
thorpej
a51d42503c Export the spill page PTE, and provide a hook to initialize it early. 1998-06-04 01:22:52 +00:00
thorpej
6dc28f5445 CIA and Pyxis have 8 scatter/gather TLB entries. 1998-06-04 01:18:22 +00:00
thorpej
32fef69ef7 Define the CIA control register. 1998-06-04 01:04:11 +00:00
thorpej
d94f02f9fd Ok, now we _REALLY_ have Pyxis recognition correct. There are two systypes
that can have Pyxis: EB164 (AlphaPC164LX and AlphaPC164SX) and DEC_550 (Miata),
and these systypes/variations _always_ have Pyxis.
1998-06-03 23:16:55 +00:00
thorpej
44605ba506 Define a bunch more system variations. 1998-06-03 23:07:38 +00:00
pk
062294cc8c Magma parallel port ioctls per Iain Hibbert. 1998-06-03 22:40:00 +00:00
pk
87fe4d9ea1 Update from Iain on the parallel port stuff. 1998-06-03 22:38:31 +00:00
thorpej
15c52040a5 Define the ALT_MEM big in the CIA revision register. 1998-06-03 22:19:08 +00:00
thorpej
f8acb6d6fa Sync w/ i386 port:
Eliminate some needless indirection through ISA DMA front-end functions.
1998-06-03 21:55:26 +00:00
thorpej
52450409d6 Sync w/ i386 port:
Implement bounce buffers for mbufs.

Also, correct copyright snafus, and a forgot-o left over from a commit
I made yesterday.
1998-06-03 21:52:36 +00:00
thorpej
6d29690288 Implement bounce buffers for mbufs. 1998-06-03 21:50:48 +00:00
mjacob
23a5420f99 turn on Essential HIPPI for this configuration 1998-06-03 21:17:52 +00:00
mjacob
9f5797ac1d turn on Essential HIPPI for these configurations 1998-06-03 21:16:28 +00:00
thorpej
d6041754c2 Allow the DMA tag to specify a boundary contraint. If the device has a
more strict boundary, the map will use it, otherwise the map will inherit
the tag's, unless the tag's constraint is 0 (no boundary constraint).
1998-06-03 18:25:53 +00:00
frueauf
554cce1e94 Remove double "options GATEWAY" entry. 1998-06-03 10:03:25 +00:00
thorpej
28486ff301 Remove the _cookie member of the DMA tag; it's not used by anything. (This
was already done to the i386 port.)
1998-06-03 06:47:41 +00:00
thorpej
7b37a276e2 Sync w/ i386 port:
Optimize the ISA DMA map load somewhat; don't traverse the buffer twice.
Instead, just attempt to do a normal load first.  If we exceed the bounce
threshold or the number of segments, then we bounce the transfer.
1998-06-03 06:43:04 +00:00