ARC: [SMP] handle IPI like TIMER0

Use same irq-generic methods in both cases
Signed-off-by: Noam Camus <noamc@ezchip.com>
ARC: [SMP] send ipi to set ienable.

In case of not percpu interrupt can force ienable mask be symetric
across CPUs. This solves problem when peripheral is not
connected to all CPUs and tries to interrupt masked CPU.

It may be optimized if we got prior knowledge which cpu needs this IPI
instead brodcasting all CPUs.

Signed-off-by: Noam Camus <noamc@ezchip.com>
ARC: [SMP] don't use identity AUX reg.

With identity num of CPUs is limited to 256 (8 bit).
We use our own alternative AUX register GLOBAL_ID (12 bit).
Now we can support up to 4096 CPUs.

Signed-off-by: Noam Camus <noamc@ezchip.com>
ARC: [SMP] init cpus maps according to given maps.

platform can set its own set of possible/present cpus at run time.

NOTE: map must include cpu 0.

Signed-off-by: Noam Camus <noamc@ezchip.com>
ARC: [SMP] copy_to_user_page be aware of all I$ around

When using ptrace there is need to flush icache when application
is on different CPU than gdbserver.

TODO: Needs to use mask of relevant CPUs to avoid broadcasting

Signed-off-by: Noam Camus <noamc@ezchip.com>
NET: Add network driver

This patch adds an driver for the debug LAN device used in EZchip NPS boards.

Signed-off-by: Noam Camus <noamc@ezchip.com>
ARC: [plat-eznps] Add eznps platform

This platform include boards:
	Hardware Emulator (HE) version 0,1...
	Simulator based upon nSIM.

Signed-off-by: Noam Camus <noamc@ezchip.com>
ARC: [plat-eznps] Add eznps default board configurations

Signed-off-by: Noam Camus <noamc@ezchip.com>

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: [plat-eznps] Add eznps DTS file

Signed-off-by: Noam Camus <noamc@ezchip.com>
ARC: [plat-eznps] Add device for Data Plane Linux

Add new device /dev/dpl.
This device enable access to cmem in other cores.

It is usefull for debugging when gdbserver is attached to process
which runs in a different CPU than gdbserver.

Signed-off-by: Noam Camus <noamc@ezchip.com>
Signed-off-by: Tal Zilcer <talz@ezchip.com>
ARC: Add initrd from external file.

We now can easly get rootfs from external file.
It may be cpio, ext2, cramfs...

This makes vmlinux usable not only for internal cpio.

Signed-off-by: Noam Camus <noamc@ezchip.com>
ARC: add CPUSET/NOHZ syscall hooks

CPUSET/NOHZ requires hook for each entry and exit from kernel
of dyntick enabled task.

Signed-off-by: Noam Camus <noamc@ezchip.com>
ARC: add CPUSET/NOHZ fault/trap handling hooks

CPUSET/NOHZ requires hooks for entry and exit from/to kernel.
This patch adds the needed ARC hooks for traps and faults.

Signed-off-by: Noam Camus <noamc@ezchip.com>
ARC: [plat-eznps] add support for NO_HZ_FULL

Select configuration needed as NO_HZ_FULL deps.

Signed-off-by: Noam Camus <noamc@ezchip.com>
time: remove 64BIT config dep for NO_HZ_FULL

Although ARC is 32BIT I still wan't to use NO_HZ_FULL.

Signed-off-by: Noam Camus <noamc@ezchip.com>
vmstat: remove vmstat workqueue.

With NO_HZ_FULL the task of vmstattimer is annoying.

Signed-off-by: Noam Camus <noamc@ezchip.com>
ARC: add use of schedule_user

only when CONFIG_CONTEXT_TRACKING

Signed-off-by: Noam Camus <noamc@ezchip.com>
ARC: handle large offstes to st.as

It happens when NR_CPUS is big i.e. 4k

Than the task_struct is getting too big.
It is due to cpumask which become 128 Bytes

So assembly code using st.as fails while compilation.

Signed-off-by: Noam Camus <noamc@ezchip.com>
EX livelock workaround

systemc rescheules on EX insn causing livelock when both cores are doing
EX on same mem location (tasklist spinlock in this case).

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
ARC: fix CONFIG_DEBUG_PREEMPT warning

-------------------->8-----------------------
BUG: using smp_processor_id() in preemptible [00000000] code: klogd/41
caller is __mmdrop+0x20/0xc8
CPU: 1 PID: 41 Comm: klogd Not tainted 3.11.0+ #260

Stack Trace:
  arc_unwind_core.constprop.1+0xb4/0x120
  dump_stack+0x88/0xf8
BUG: using smp_processor_id() in preemptible [00000000] code: rcS/42
caller is __mmdrop+0x20/0xc8
  debug_smp_processor_id+0xb0/0xbc
  __mmdrop+0x20/0xc8
  schedule_tail+0xa2/0x190
  ret_from_fork+0x4/0x18
CPU: 0 PID: 42 Comm: rcS Not tainted 3.11.0+ #260

Stack Trace:
  arc_unwind_core.constprop.1+0xb4/0x120
  dump_stack+0x88/0xf8
  debug_smp_processor_id+0xb0/0xbc
  __mmdrop+0x20/0xc8
  flush_old_exec+0x3c4/0x708
  load_elf_binary+0x32a/0x1174
  search_binary_handler+0xb6/0x2c4
  load_script+0x238/0x28c
  search_binary_handler+0xb6/0x2c4
-------------------->8-----------------------

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>