Commit graph

2966 commits

Author SHA1 Message Date
Michael Eager
bd30e45a34 2009-09-23 Michael Eager <eager@eagercon.com>
* configure: Add microblaze-*.* (not regenerated).
       * configure.ac: Likewise.
       * microblaze/config.in: New.
       * microblaze/configure: Generate.
       * microblaze/configure.ac: New.
       * microblaze/interp.c: New.
       * microblaze/Makefile.in: New.
       * microblaze/microblaze.h: New.
       * microblaze/microblaze.isa: New.
       * microblaze/sim-main.h: New.
       * microblaze/sysdep.h: New.
2009-09-23 20:01:47 +00:00
Joel Brobecker
93cfa9cf1f * main.c: Fix spelling error. 2009-09-22 15:44:12 +00:00
Doug Evans
5b81ce52a3 fix thinko in previous entry 2009-09-15 23:30:37 +00:00
Doug Evans
bf0275b1b5 back out previous patch, replace with
* configure.ac (sim_hwflags): Use AC_DEFINE to define HAVE_UNION_SEMUN.
	* configure: Regenerate.
	* config.in: Regenerate.
	* hw_sem.c: #include "config.h".
	(HAVE_UNION_SEMUN): Renamed from HAS_UNION_SEMUN.
2009-09-15 23:26:44 +00:00
Doug Evans
6ae841305c * configure.ac (sim_hwflags): Clean up definition, AC_SUBST it.
* configure: Regenerate.
	* Makefile.in (SIM_HWFLAGS): New variable.
	(STD_CFLAGS, NOWARN_CFLAGS): Add it.
2009-09-15 23:06:42 +00:00
Anthony Green
5c27d164d8 Use common memory infrastructure and introduce device tree support 2009-09-10 21:57:03 +00:00
Ralf Wildenhues
0aec8eb1b5 Remove SIM_CHECK_MEMBER* in sim/common/.
sim/common/:
	* aclocal.m4 (SIM_CHECK_MEMBER, SIM_CHECK_MEMBERS)
	(SIM_CHECK_MEMBERS_1): Remove.
	* configure.ac: Replace SIM_CHECK_MEMBERS call with equivalent
	AC_CHECK_MEMBERS one.
	* configure: Regenerate.
2009-08-29 11:36:26 +00:00
Ralf Wildenhues
4433007921 Fix SIM_CHECK_MEMBER definition with Autoconf 2.64.
sim/common/:
	* aclocal.m4 (SIM_CHECK_MEMBER): Use AU_ALIAS to define, not defn.
	* configure: Regenerate.
2009-08-29 11:35:06 +00:00
Ralf Wildenhues
81ecdfbb4d Regenerate tree using Autoconf 2.64 and Automake 1.11.
config/:
	* override.m4 (_GCC_AUTOCONF_VERSION): Bump to 2.64.

/:
	* configure: Regenerate.

etc/:
	* configure: Regenerate.

sim/common/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/iq2000/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/d10v/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/igen/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/m32r/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/frv/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/:
	* avr/config.in: Regenerate.
	* avr/configure: Likewise.
	* configure: Likewise.
	* cris/config.in: Likewise.
	* cris/configure: Likewise.

sim/h8300/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/mn10300/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/ppc/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/erc32/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/arm/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/m68hc11/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/lm32/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/sh64/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/v850/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/cr16/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/moxie/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/m32c/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/mips/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/mcore/:
	* config.in: Regenerate.
	* configure: Likewise.

sim/testsuite/d10v-elf/:
	* configure: Regenerate.

sim/testsuite/:
	* configure: Regenerate.

sim/testsuite/frv-elf/:
	* configure: Regenerate.

sim/testsuite/m32r-elf/:
	* configure: Regenerate.

sim/testsuite/mips64el-elf/:
	* configure: Regenerate.

sim/sh/:
	* config.in: Regenerate.
	* configure: Likewise.

gold/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* config.in: Likewise.
	* configure: Likewise.
	* testsuite/Makefile.in: Likewise.

gprof/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* configure: Likewise.
	* gconfig.in: Likewise.

opcodes/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* config.in: Likewise.
	* configure: Likewise.

gas/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* config.in: Likewise.
	* configure: Likewise.
	* doc/Makefile.in: Likewise.

ld/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* config.in: Likewise.
	* configure: Likewise.

gdb/:
	* aclocal.m4: Regenerate.
	* config.in: Likewise.
	* configure: Likewise.
	* gnulib/Makefile.in: Likewise.

gdb/doc/:
	* configure: Regenerate.

gdb/gdbserver/:
	* aclocal.m4: Regenerate.
	* config.in: Likewise.
	* configure: Likewise.

gdb/testsuite/:
	* configure: Regenerate.
	* gdb.hp/configure: Likewise.
	* gdb.hp/gdb.aCC/configure: Likewise.
	* gdb.hp/gdb.base-hp/configure: Likewise.
	* gdb.hp/gdb.compat/configure: Likewise.
	* gdb.hp/gdb.defects/configure: Likewise.
	* gdb.hp/gdb.objdbg/configure: Likewise.
	* gdb.stabs/configure: Likewise.

binutils/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* config.in: Likewise.
	* configure: Likewise.
	* doc/Makefile.in: Likewise.

bfd/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* config.in: Likewise.
	* configure: Likewise.

bfd/doc/:
	* Makefile.in: Regenerate.

readline/:
	* configure: Regenerate.

readline/examples/rlfe/:
	* configure: Regenerate.
2009-08-22 16:56:56 +00:00
Ralf Wildenhues
c462b41bcd Minor fixes in sim, gold, gdb for Autoconf 2.64, Automake 1.11.
gold/:
	* Makefile.am (AUTOMAKE_OPTIONS): Add foreign.
	* testsuite/Makefile.am (AUTOMAKE_OPTIONS): Add foreign.
	* Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

gdb/:
	* configure.ac: Use AC_USE_SYSTEM_EXTENSIONS instead of
	AC_GNU_SOURCE, AC_AIX, AC_ISC_POSIX.

sim/common/:
	* aclocal.m4 (SIM_CHECK_MEMBER): Replace definition with
	definition of AC_CHECK_MEMBER.
2009-08-22 15:59:24 +00:00
Ralf Wildenhues
d6416cdc23 Fixup readline and sim including of override.m4
readline/examples/rlfe/:
	* configure.in: m4_include toplevel config/override.m4.
	* configure: Regenerate.

readline/ChangeLog.gdb:
	* configure.in: m4_include toplevel config/override.m4.
	* configure: Regenerate.

sim/:
	* configure.ac: m4_include toplevel config/override.m4.
	* configure: Regenerate.
	* avr/configure: Regenerate.
	* cris/configure: Regenerate.

sim/common/:
	* aclocal.m4: m4_include toplevel config/override.m4.
	* configure: Regenerate.

sim/iq2000/:
	* configure: Regenerate.

sim/d10v/:
	* configure: Regenerate.

sim/igen/:
	* configure: Regenerate.

sim/m32r/:
	* configure: Regenerate.

sim/frv/:
	* configure: Regenerate.

sim/h8300/:
	* configure: Regenerate.

sim/mn10300/:
	* configure: Regenerate.

sim/ppc/:
	* configure: Regenerate.

sim/erc32/:
	* configure: Regenerate.

sim/arm/:
	* configure: Regenerate.

sim/m68hc11/:
	* configure: Regenerate.

sim/lm32/:
	* configure: Regenerate.

sim/sh64/:
	* configure: Regenerate.

sim/v850/:
	* configure: Regenerate.

sim/cr16/:
	* configure: Regenerate.

sim/moxie/:
	* configure: Regenerate.

sim/m32c/:
	* configure: Regenerate.

sim/mips/:
	* configure: Regenerate.

sim/mcore/:
	* configure: Regenerate.

sim/sh/:
	* configure: Regenerate.
2009-08-22 11:36:40 +00:00
DJ Delorie
340cf1cfb6 * configure.in: Check for sys/select.h, termios.h, sys/socket.h,
netinet/in.h, and netinet/tcp.h.
* configure: Regenerate.
* config.in: Add those headers.
* main.c: Check for them.
(setup_tcp_console): Disable if no networking.
(main): Note missing networking or termios.
* mem.c: Check for those headers.
(stdin_ready): Disable if no termios.
(m32c_sim_restore_console): Disable if no termios.
(mem_get_byte): Disable console input if no termios.
2009-08-14 04:24:30 +00:00
Anthony Green
7a321525ff Increase simulated memory size. Support new system call ABI. Support exception processing for Linux system calls. 2009-07-31 11:40:16 +00:00
Ralf Wildenhues
96e946ca9a sim/
* Makefile.in (datarootdir): New variable.

sim/common/
	* Makefile.in (datarootdir): New variable.

sim/igen/
	* Makefile.in (datarootdir): New variable.

sim/ppc/
	* Makefile.in (datarootdir): New variable.

readline/
	* Makefile.in (datarootdir): New variable.
	* doc/Makefile.in (datarootdir): New variable.
	* shlib/Makefile.in (datarootdir): New variable.

gdb/gdbserver/
	* Makefile.in (datarootdir): New variable.
2009-07-30 22:53:18 +00:00
Doug Evans
6a8b86150e * common/Make-common.in (CPU_DIR): Define.
* iq2000/Makefile.in (stamp-arch): Use $(CPU_DIR) instead of $(CGEN_CPU_DIR).
(stamp-cpu): Ditto.
* m32r/Makefile.in (stamp-arch): Use $(CPU_DIR) instead of $(CGEN_CPU_DIR).
(stamp-cpu, stamp-xcpu, stamp-2cpu): Ditto.
2009-07-12 16:59:34 +00:00
Doug Evans
b97514f2dc * Makefile.in (traps.o): Add dependency on targ-vals.h to fix
parallel makes.
2009-07-08 06:16:46 +00:00
Doug Evans
8065377a81 * Makefile.in (stamp-arch): Pass archfile to cgen-arch.
(stamp-cpu): Pass archfile to cgen-cpu-decode.
2009-07-08 05:38:01 +00:00
Doug Evans
2c2a86d776 * Make-common.in (CGEN_CPU_EXTR,CGEN_CPU_READ): Pass canonical
identifiers for file types rather than encoding internal
	implementation details of cgen.sh.
	(CGEN_CPU_WRITE,CGEN_CPU_SEM,CGEN_CPU_SEMSW): Ditto.
	* cgen.sh: Add support for parallel makes.
	Rewrite cpu/decode handling to avoid generating "extrafiles" twice.
2009-07-07 08:09:19 +00:00
Doug Evans
a86de8e0d8 * mloop.in: Add missing # comment marker.
* mloop2.in: Ditto.
	* mloopx.in: Ditto.
2009-06-20 21:19:20 +00:00
Anthony Green
8656620041 Add PC-relative branch support to moxie sim. 2009-06-11 11:36:14 +00:00
Jon Beniston
487df32df7 Add ChangeLog 2009-05-18 13:27:12 +00:00
Jon Beniston
c28c63d86b gdb/
2009-05-18  Jon Beniston <jon@beniston.com>

        * MAINTAINERS: Add lm32 target.
        * Makefile.in: Add lm32 dependencies.
        * NEWS: Indicate lm32 is a new target.
        * configure.tgt: Add lm32 targets.
        * lm32-tdep.c: New file.

gdb/testsuite
2009-05-18  Jon Beniston <jon@beniston.com>

        * gdb.asm/asm-source.exp: Add lm32 target.

include/gdb/
2009-05-18  Jon Beniston <jon@beniston.com>

        * sim-lm32.h: New file.

sim/
2009-05-18  Jon Beniston <jon@beniston.com>

        * MAINTAINERS: Add Jon Beniston as maintainer of lm32 sim.
        * configure.ac: Add lm32 target.
        * lm32: New directory.

sim/common
2009-05-18  Jon Beniston <jon@beniston.com>

        * gennltvals.sh: Add lm32 target.
        * nltvals.def: Add lm32 syscall definitions.

sim/lm32/
2009-05-18  Jon Beniston <jon@beniston.com>

        * Makefile.in: New file.
        * arch.c: New file.
        * arch.h: New file.
        * config.in: New file.
        * configure: New file.
        * configure.ac: New file.
        * cpu.c: New file.
        * cpu.h: New file.
        * cpuall.h: New file.
        * decode.c: New file.
        * decode.h: New file.
        * dv-lm32cpu.c: New file.
        * dv-lm32timer.c: New file.
        * dv-lm32uart.c: New file.
        * lm32.c: New file.
        * lm32-sim.h: New file.
        * mloop.in: New file.
        * model.c: New file.
        * sem.c: New file.
        * sem-switch.c: New file.
        * sim-if.c: New file.
        * sim-main.c: New file.
        * tconfig.in: New file.
        * traps.c: New file.
        * user.c: New file.
2009-05-18 13:25:35 +00:00
Andrew Cagney
90e2fa9c54 2009-05-11 Andrew Cagney <cagney@gnu.org>
* MAINTAINERS: Orphan ppc.
2009-05-11 21:21:47 +00:00
Anthony Green
77176dfc67 Add missing break statemenets. 2009-05-10 13:25:57 +00:00
Kevin Buettner
bba258adba * m32c/gdb-if.c (m32c_signal_to_host): Rename to
m32c_signal_to_target.  Change signal return values from SIGILL,
	SIGTRAP, SIGSEGV, etc. to TARGET_SIGNAL_ILL, TARGET_SIGNAL_TRAP,
	TARGET_SIGNAL_SEGV, etc.  Fix all callers.
2009-05-08 22:54:34 +00:00
Anthony Green
fdd6fa6167 Add moxie simulator 2009-05-01 03:03:41 +00:00
Tristan Gingold
df1756f414 2009-04-27 Tristan Gingold <gingold@adacore.com>
* avr: New directory.
	* avr/interp.c, avr/Makefile.in, avr/configure.ac: New files.
	* avr/config.in: New file, generated by autoheader.
	* avr/configure: New file generated by autoconf.
	* configure.ac: Add avr.
	* configure: Regenerated.
2009-04-27 10:50:53 +00:00
Joseph Myers
89a34d1b2c gdb:
2009-04-17  Carlos O'Donell  <carlos@codesourcery.com>

	* configure.ac: AC_SUBST datarootdir, docdir, htmldir, pdfdir.
	* configure: Regenerate.
	* Makefile.in: Set datarootdir, docdir, htmldir, and pdfdir from
	configure substitutions.
	(FLAGS_TO_PASS): Add datarootdir, docdir, and htmldir.

gdb/doc:
2009-04-17  Carlos O'Donell  <carlos@codesourcery.com>

	* Makefile.in: Set pdfdir and htmldir from configure
	substitutions.
	* configure.ac: AC_SUBST datarootdir, docdir, htmldir, pdfdir.
	* configure: Regenerate.

readline:
2009-04-17  Carlos O'Donell  <carlos@codesourcery.com>

	* Makefile.in: Add html target.  Add dummy install-html and
	install-pdf targets.

sim:
2009-04-17  Carlos O'Donell  <carlos@codesourcery.com>

	* Makefile.in: Add dummy install-pdf, html, and
	install-html targets.
2009-04-17 17:44:05 +00:00
Joel Brobecker
982807ce66 From: J"orn Rennecke <joern.rennecke@arc.com> (tiny change)
Speed up simulator startup:
        * sim-utils.c (zalloc): Use xcalloc.
2009-03-19 14:32:38 +00:00
Hans-Peter Nilsson
fa0cbd5ae8 * sim/cris/asm/opterr5.ms, sim/cris/asm/opterr4.ms,
sim/cris/asm/opterr3.ms, sim/cris/asm/bare3.ms: New tests.
	* lib/sim-defs.exp (run_sim_test): New option progopts.
2009-01-18 22:17:47 +00:00
Hans-Peter Nilsson
c10b360549 * cris/sim-if.c: Include errno.h.
(cris_start_address, cris_program_offset): New variables.
	(OPTION_CRIS_PROGRAM_OFFSET, OPTION_CRIS_STARTADDR): New option
	enums.
	(cris_options): New options --cris-program-offset and
	--cris-start-address.
	(cris_option_handler): Handle new options.
	(cris_program_offset_write, cris_set_section_offset_iterator)
	(cris_offset_sections, cris_offset_sections): New functions.
	(sim_load): Use cris_program_offset_write as function argument to
	cris_load_elf_file, not sim_write.
	(struct offsetinfo): New struct.
	(cris_handle_interpreter): Fix typo in comment.
	(sim_open): Call cris_offset_sections as soon as the bfd of the
	infile is available.  Gate bfd validity checks on abfd non-NULL.
	(sim_create_inferior): Let cris_start_address when != -1 override
	other start-address choices.
2009-01-18 22:17:03 +00:00
Joel Brobecker
e4d013fc0f Update the copyright notice of some of the files I missed
in the previous copyright update.
2009-01-14 10:53:10 +00:00
Nathan Froyd
7631938e96 * ppc-instructions (sync): Add L field. 2009-01-12 20:04:36 +00:00
Hans-Peter Nilsson
c6f38234a7 * cgen-ops.h (ADDQI, SUBQI, MULQI, NEGQI, ABSQI, ADDHI, SUBHI)
(MULHI, NEGHI, ABSHI, ADDSI, SUBSI, MULSI, NEGSI, ABSSI, ADDDI)
	(SUBDI, MULDI, NEGDI, ABSDI): Cast arguments to the unsigned type
	variant; UQI, UHI, USI, UDI, and cast the result to the signed
	type, QI, HI, SI, DI.
2009-01-07 01:13:36 +00:00
Hans-Peter Nilsson
2225d5bdd8 * cgen-ops.h (ADDQI, SUBQI, MULQI, NEGQI, ABSQI, ADDHI, SUBHI)
(MULHI, NEGHI, ABSHI, ADDSI, SUBSI, MULSI, NEGSI, ABSSI, ADDDI)
	(SUBDI, MULDI, NEGDI, ABSDI): Cast arguments to the unsigned type
	variant; UQI, UHI, USI, UDI, and cast the result to the signed
	type, QI, HI, SI, DI.
2009-01-07 01:12:51 +00:00
Hans-Peter Nilsson
7b1a28404b * sem.c: Regenerate. 2009-01-07 01:10:24 +00:00
Hans-Peter Nilsson
2a8922a97b * callback.c (os_error): Mark as being a noreturn function.
* sim-io.h (sim_io_error): Similar for sim_io_error.
2009-01-06 23:39:28 +00:00
Hans-Peter Nilsson
83c4f5797a * sim/cris/c/mmap5.c, sim/cris/c/mmap6.c, sim/cris/c/mmap7.c,
sim/cris/c/mmap8.c, sim/cris/c/hellodyn3.c: New tests.
2009-01-06 20:50:10 +00:00
Hans-Peter Nilsson
fc887f09c5 * cris/traps.c (abort): Define to call sim_io_error.
(create_map): Make -1 imply a non-fixed address, not 0.  All
	callers changed.  Only prefer the next higher unmapped address if
	the last mapped address is no less than 0x40000000.  Check that
	the address to be mapped is not already mapped.  Update head
	comment.
	(unmap_pages): Don't call abort when recursive call fails, just
	note and return an error if a page in the range couldn't be unmapped.
	(cris_bmod_handler, h_supr_set_handler, h_supr_get_handler)
	(schedule, make_first_thread, cris_pipe_empty): New local variable sd.
	(cris_break_13_handler) <case TARGET_SYS_mmap2>: Handle
	non-MAP_FIXED argument overlapping existing map.  For MAP_FIXED,
	don't abort on page not being mapped.  Handle non-anon filemap
	with length padded to pagesize.
2009-01-06 20:49:00 +00:00
Joel Sherrill
ed25d7320a 2009-01-06 Joel Sherrill <joel.sherrill@oarcorp.com>
* r8c.opc, m32c.opc: Add parentheses to remove warnings.
2009-01-06 19:01:36 +00:00
Hans-Peter Nilsson
a3d4b83b60 * cris/sim-if.c (TARGET_AT_NULL, TARGET_AT_PHDR, TARGET_AT_PHENT)
(TARGET_AT_PHNUM, TARGET_AT_PAGESZ, TARGET_AT_BASE)
	(TARGET_AT_FLAGS, TARGET_AT_ENTRY, TARGET_AT_UID, TARGET_AT_EUID)
	(TARGET_AT_GID, TARGET_AT_EGID, TARGET_AT_HWCAP)
	(TARGET_AT_CLKTCK): Remove redundant macros.
	(AUX_ENT): Adjust to use standard ELF AT_* macros.
	(AUX_ENTF): Ditto.  Remove always-0 middle argument.  Update all
	callers.
	(sim_open): Also pass AT_SECURE.
2009-01-03 21:25:42 +00:00
Hans-Peter Nilsson
51d95096e0 * sim/cris/c/settls1.c: New test. 2009-01-03 21:01:20 +00:00
Hans-Peter Nilsson
ddf2c97233 * cris/sim-main.h (struct _sim_cpu): New member
set_target_thread_data.
	* cris/crisv32f.c (CRIS_TLS_REGISTER): Define.
	* cris/crisv10f.c: Ditto.
	* cris/cris-tmpl.c (MY (set_target_thread_data)): New function.
	(MY (f_specific_init)): Set new _sim_cpu member to new function.
	* cris/traps.c (TARGET_SYS_set_thread_area): Define.
	(cris_break_13_handler) <case TARGET_SYS_set_thread_area>: New
	case.
2009-01-03 21:00:48 +00:00
Hans-Peter Nilsson
2e1566c6da * sim/cris/c/exitg1.c, sim/cris/c/exitg2.c: New tests. 2009-01-03 20:26:19 +00:00
Hans-Peter Nilsson
e56b67eda7 * cris/traps.c (TARGET_SYS_exit_group): Define.
(cris_break_13_handler): Handle it like the exit for the last
	thread.
2009-01-03 20:25:48 +00:00
Hans-Peter Nilsson
7a9d7282f3 * sim/cris/c/uname1.c: New test. 2009-01-03 19:58:47 +00:00
Hans-Peter Nilsson
ffc67e7a94 * cris/traps.c (TARGET_UTSNAME): Update to 2009-01-01.
(TARGET_EPOCH): Update to match TARGET_UTSNAME.  Correct comment.
	(cris_break_13_handler) <case TARGET_SYS_uname>: Update to
	2.6.27.  Set machine field to the BFD printable name of the
	machine.
2009-01-03 19:58:11 +00:00
Hans-Peter Nilsson
91aabc8dd2 * sim/cris/c/mmap1.c (MMAP_FLAGS): Default-define to
MAP_PRIVATE and use this macro in the mmap call.
	* sim/cris/c/mmap4.c: New test.
2009-01-03 19:22:16 +00:00
Hans-Peter Nilsson
a349c9b6a2 * cris/traps.c (TARGET_MAP_DENYWRITE): Define.
<case TARGET_SYS_mmap2>: Handle TARGET_MAP_DENYWRITE.
2009-01-03 19:21:42 +00:00
Hans-Peter Nilsson
195c7c55e0 * sim/cris/c/access1.c: New test. 2009-01-03 18:38:27 +00:00